{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 对活动数据进行分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "（只取训练集和测试集中出现的样本）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#数据量太大，pandas不能一次讲所有数据读入\n",
    "\n",
    "import numpy as np\n",
    "import scipy.sparse as ss\n",
    "import scipy.io as sio\n",
    "\n",
    "#保存数据 \n",
    "import cPickle\n",
    "\n",
    "#event的特征需要编码\n",
    "from utils import FeatureEng\n",
    "from sklearn.preprocessing import normalize\n",
    "#相似度/距离\n",
    "import scipy.spatial.distance as ssd"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# 统计活动数目"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "number of records :3137972\n"
     ]
    }
   ],
   "source": [
    "#读取数据，并统计有多少不同的events\n",
    "#其实EDA.ipynb中用read_csv已经统计过了\n",
    "lines = 0\n",
    "fin = open(\"events.csv\", 'rb')\n",
    "#找到用C/C++的感觉了\n",
    "#字段：event_id, user_id,start_time, city, state, zip, country, lat, and lng， 101 columns of words count\n",
    "fin.readline() # skip header，列名行\n",
    "for line in fin:\n",
    "    cols = line.strip().split(\",\")\n",
    "    lines += 1\n",
    "fin.close()\n",
    "\n",
    "print(\"number of records :%d\" % lines)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "有300w+的活动，训练和测试集里的活动没这么多，先去处理train和test，得到竞赛需要用到的活动和用户，然后对在训练集和测试集中出现过的活动和用户建立新的ID索引。先运行user_event.ipynb, 得到活动列表文件：PE_eventIndex.pkl"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'433929966': 0,\n",
       " '4234683959': 1,\n",
       " '679447655': 2,\n",
       " '773396729': 3,\n",
       " '3822707736': 4,\n",
       " '1588485860': 5,\n",
       " '1465884852': 6,\n",
       " '1968232351': 7,\n",
       " '2051799233': 9,\n",
       " '447444721': 10,\n",
       " '2301723344': 11,\n",
       " '4028072926': 12,\n",
       " '1935879458': 13,\n",
       " '3109164411': 14,\n",
       " '833858713': 15,\n",
       " '186124210': 16,\n",
       " '1180225343': 17,\n",
       " '4016804175': 18,\n",
       " '2726295050': 19,\n",
       " '4266442206': 20,\n",
       " '2313587840': 21,\n",
       " '733261478': 1462,\n",
       " '1458906695': 23,\n",
       " '2450977738': 24,\n",
       " '915187958': 25,\n",
       " '407288007': 26,\n",
       " '3768548263': 27,\n",
       " '3051088984': 28,\n",
       " '1933276938': 29,\n",
       " '1770070953': 30,\n",
       " '3965935592': 31,\n",
       " '2812330223': 32,\n",
       " '3323980704': 33,\n",
       " '4049041156': 34,\n",
       " '3696272381': 35,\n",
       " '1281252091': 36,\n",
       " '1319656469': 37,\n",
       " '1872379613': 38,\n",
       " '914775174': 39,\n",
       " '230117918': 41,\n",
       " '127163854': 42,\n",
       " '1929917726': 43,\n",
       " '1343073449': 9194,\n",
       " '2527738096': 44,\n",
       " '417123290': 45,\n",
       " '1499530182': 46,\n",
       " '332142007': 47,\n",
       " '4126236405': 48,\n",
       " '570094895': 11875,\n",
       " '1880617811': 49,\n",
       " '106978589': 50,\n",
       " '2850509209': 51,\n",
       " '2507275690': 52,\n",
       " '3770866498': 53,\n",
       " '3349548561': 54,\n",
       " '4096532695': 55,\n",
       " '1286933492': 6577,\n",
       " '1607711017': 56,\n",
       " '2043006756': 57,\n",
       " '2606383328': 58,\n",
       " '1977406305': 59,\n",
       " '3172060382': 60,\n",
       " '2646392315': 61,\n",
       " '2912281746': 62,\n",
       " '1907550340': 63,\n",
       " '774093053': 64,\n",
       " '3327557579': 65,\n",
       " '3802650890': 66,\n",
       " '2055922065': 67,\n",
       " '3711909804': 68,\n",
       " '393394477': 69,\n",
       " '2896451394': 70,\n",
       " '4201550847': 71,\n",
       " '2474982115': 72,\n",
       " '3805108320': 73,\n",
       " '650745497': 74,\n",
       " '1291141020': 432,\n",
       " '973265540': 76,\n",
       " '806826749': 77,\n",
       " '2840088969': 78,\n",
       " '3700950547': 79,\n",
       " '1000481836': 80,\n",
       " '1959421009': 81,\n",
       " '3217192264': 82,\n",
       " '894829625': 83,\n",
       " '4293596113': 84,\n",
       " '3446267401': 86,\n",
       " '2415873572': 88,\n",
       " '169266244': 89,\n",
       " '2422402842': 90,\n",
       " '3523548061': 91,\n",
       " '3946739090': 92,\n",
       " '256821264': 93,\n",
       " '1310511988': 94,\n",
       " '1280269047': 5541,\n",
       " '345960905': 96,\n",
       " '265740872': 98,\n",
       " '1880156476': 99,\n",
       " '3179167671': 100,\n",
       " '2818648337': 101,\n",
       " '149322935': 9837,\n",
       " '1771812765': 102,\n",
       " '1889293012': 8946,\n",
       " '4241501571': 104,\n",
       " '1569316024': 105,\n",
       " '3354141479': 107,\n",
       " '682667459': 108,\n",
       " '4261753049': 109,\n",
       " '2078647608': 110,\n",
       " '321356225': 111,\n",
       " '1512828747': 112,\n",
       " '598708806': 113,\n",
       " '3161734222': 114,\n",
       " '4224194427': 11608,\n",
       " '915963444': 116,\n",
       " '2877011901': 117,\n",
       " '1073720066': 118,\n",
       " '2188481598': 119,\n",
       " '3197423454': 120,\n",
       " '3976610702': 121,\n",
       " '439311946': 122,\n",
       " '2723158684': 123,\n",
       " '2221840547': 124,\n",
       " '2847152365': 125,\n",
       " '2024105424': 126,\n",
       " '3312755383': 128,\n",
       " '4073832558': 129,\n",
       " '1963825952': 279,\n",
       " '4227274972': 131,\n",
       " '228340462': 132,\n",
       " '2562787688': 7966,\n",
       " '2005419859': 11920,\n",
       " '2075203466': 135,\n",
       " '533036818': 136,\n",
       " '861989233': 830,\n",
       " '1722911749': 138,\n",
       " '2166119628': 139,\n",
       " '2186351621': 140,\n",
       " '3273736995': 141,\n",
       " '4083994402': 142,\n",
       " '272875209': 143,\n",
       " '1868735086': 144,\n",
       " '1203574711': 145,\n",
       " '3571352784': 146,\n",
       " '1158452780': 147,\n",
       " '1043841273': 148,\n",
       " '740148951': 149,\n",
       " '2456710844': 150,\n",
       " '234487772': 151,\n",
       " '3038741300': 152,\n",
       " '3099686443': 940,\n",
       " '83427780': 154,\n",
       " '1764893644': 155,\n",
       " '3812153136': 156,\n",
       " '1736406045': 157,\n",
       " '2280892735': 159,\n",
       " '376720958': 160,\n",
       " '1860786983': 162,\n",
       " '3413988347': 163,\n",
       " '2157645470': 3424,\n",
       " '8559115': 165,\n",
       " '1438024794': 166,\n",
       " '3507025494': 167,\n",
       " '1467809542': 168,\n",
       " '3759330615': 169,\n",
       " '3819567837': 170,\n",
       " '2752772467': 171,\n",
       " '3841578300': 173,\n",
       " '317875697': 174,\n",
       " '3523716576': 175,\n",
       " '2982847299': 9365,\n",
       " '981244440': 176,\n",
       " '3075319534': 177,\n",
       " '38825896': 178,\n",
       " '2103025461': 179,\n",
       " '1232039292': 180,\n",
       " '4031268561': 181,\n",
       " '2464636842': 182,\n",
       " '2512346948': 183,\n",
       " '1203717384': 184,\n",
       " '3697638490': 87,\n",
       " '390684326': 186,\n",
       " '1827283730': 187,\n",
       " '3594729381': 188,\n",
       " '2042697619': 189,\n",
       " '3949816728': 191,\n",
       " '4043937476': 192,\n",
       " '3037717443': 193,\n",
       " '2877314442': 194,\n",
       " '866923839': 195,\n",
       " '1061745506': 196,\n",
       " '655495803': 197,\n",
       " '486447403': 198,\n",
       " '1173365630': 199,\n",
       " '2626284779': 200,\n",
       " '2020531758': 1238,\n",
       " '3884256656': 202,\n",
       " '244220291': 203,\n",
       " '3057888073': 204,\n",
       " '3729283847': 205,\n",
       " '1430932461': 206,\n",
       " '3402209713': 207,\n",
       " '675888033': 208,\n",
       " '1915380946': 209,\n",
       " '3534091101': 210,\n",
       " '1824334392': 211,\n",
       " '2284893483': 11080,\n",
       " '3329566428': 213,\n",
       " '2762282302': 214,\n",
       " '2118802492': 215,\n",
       " '3549888444': 216,\n",
       " '1549888368': 217,\n",
       " '2598678508': 219,\n",
       " '3926022702': 220,\n",
       " '1633704318': 221,\n",
       " '3889211600': 223,\n",
       " '978829373': 224,\n",
       " '1374330612': 225,\n",
       " '3996685669': 226,\n",
       " '3400642235': 227,\n",
       " '2009824063': 8674,\n",
       " '2696649330': 1471,\n",
       " '1590675258': 229,\n",
       " '2700038507': 230,\n",
       " '984516743': 231,\n",
       " '1709219406': 7736,\n",
       " '1758417603': 232,\n",
       " '2235428011': 233,\n",
       " '1282404404': 234,\n",
       " '975577539': 237,\n",
       " '613668540': 238,\n",
       " '138523229': 239,\n",
       " '1759182938': 1574,\n",
       " '2560867051': 241,\n",
       " '4219250662': 242,\n",
       " '580186719': 11174,\n",
       " '1873976153': 244,\n",
       " '2867772846': 245,\n",
       " '2363192851': 246,\n",
       " '1861025224': 13271,\n",
       " '709512451': 249,\n",
       " '251657645': 250,\n",
       " '1298016856': 251,\n",
       " '3412307751': 252,\n",
       " '3352558065': 253,\n",
       " '513780850': 254,\n",
       " '2472934939': 255,\n",
       " '1462428678': 256,\n",
       " '2859386475': 257,\n",
       " '811652961': 258,\n",
       " '1429589754': 259,\n",
       " '1427394700': 260,\n",
       " '1417587050': 261,\n",
       " '750506418': 262,\n",
       " '1537177508': 263,\n",
       " '1810281079': 264,\n",
       " '3167757146': 265,\n",
       " '393416610': 266,\n",
       " '3069899537': 267,\n",
       " '536949855': 269,\n",
       " '2106861684': 270,\n",
       " '3729155908': 271,\n",
       " '1111361846': 272,\n",
       " '3267347122': 273,\n",
       " '371746452': 274,\n",
       " '1888695830': 275,\n",
       " '967501371': 6715,\n",
       " '1738181791': 277,\n",
       " '3633351483': 4281,\n",
       " '354333473': 280,\n",
       " '647866667': 281,\n",
       " '511362023': 282,\n",
       " '505464566': 283,\n",
       " '1255932343': 284,\n",
       " '1060440359': 2262,\n",
       " '1739388067': 286,\n",
       " '2232544430': 287,\n",
       " '3041724882': 288,\n",
       " '1985321109': 289,\n",
       " '1471308455': 290,\n",
       " '2272129750': 291,\n",
       " '4010042708': 292,\n",
       " '2134876228': 293,\n",
       " '1993199919': 294,\n",
       " '2832466526': 295,\n",
       " '3703433044': 296,\n",
       " '2961046023': 297,\n",
       " '435473446': 298,\n",
       " '3773409641': 300,\n",
       " '2913860360': 301,\n",
       " '55735397': 302,\n",
       " '2422072300': 303,\n",
       " '2458143482': 304,\n",
       " '1913672917': 305,\n",
       " '2156430059': 306,\n",
       " '4055585686': 307,\n",
       " '3667110496': 308,\n",
       " '2691509364': 309,\n",
       " '100417525': 310,\n",
       " '1139116596': 311,\n",
       " '377254812': 312,\n",
       " '3801433102': 313,\n",
       " '2157401626': 314,\n",
       " '1711604318': 315,\n",
       " '805963128': 316,\n",
       " '3619266504': 317,\n",
       " '1988291613': 318,\n",
       " '1381535648': 319,\n",
       " '2660205855': 320,\n",
       " '268203907': 321,\n",
       " '3404489024': 322,\n",
       " '263279656': 323,\n",
       " '3673014182': 2088,\n",
       " '4244406355': 325,\n",
       " '25570068': 2102,\n",
       " '490590226': 327,\n",
       " '1828726073': 328,\n",
       " '2408267303': 329,\n",
       " '3319862596': 330,\n",
       " '171025395': 331,\n",
       " '677713566': 332,\n",
       " '61894853': 333,\n",
       " '1712448138': 334,\n",
       " '2407176743': 335,\n",
       " '3657419629': 336,\n",
       " '2007442218': 337,\n",
       " '1063154747': 338,\n",
       " '1366554501': 339,\n",
       " '1388026005': 12658,\n",
       " '3574237758': 340,\n",
       " '1295729468': 341,\n",
       " '3851706723': 342,\n",
       " '1988027954': 343,\n",
       " '3036332464': 344,\n",
       " '3365983510': 345,\n",
       " '2333818729': 2227,\n",
       " '582672945': 347,\n",
       " '3696948957': 348,\n",
       " '1294755971': 349,\n",
       " '4025878315': 2246,\n",
       " '232415600': 351,\n",
       " '1592001933': 352,\n",
       " '1656987460': 353,\n",
       " '1781009055': 354,\n",
       " '2670583521': 355,\n",
       " '4116595591': 356,\n",
       " '748898602': 9103,\n",
       " '2147374657': 7485,\n",
       " '4277799248': 2296,\n",
       " '844299203': 358,\n",
       " '135744766': 359,\n",
       " '615488222': 360,\n",
       " '4242816413': 361,\n",
       " '650456731': 362,\n",
       " '2851625619': 363,\n",
       " '322679569': 364,\n",
       " '2653321720': 365,\n",
       " '4092689670': 366,\n",
       " '274265388': 367,\n",
       " '1309574084': 368,\n",
       " '1218003893': 369,\n",
       " '3935738455': 370,\n",
       " '2796594102': 371,\n",
       " '495818697': 372,\n",
       " '407061424': 373,\n",
       " '3892571955': 374,\n",
       " '1930033127': 375,\n",
       " '526306322': 376,\n",
       " '794450376': 377,\n",
       " '3144013743': 378,\n",
       " '2448320909': 379,\n",
       " '1695480317': 380,\n",
       " '3407311067': 381,\n",
       " '122289878': 382,\n",
       " '2526925550': 268,\n",
       " '2750873665': 384,\n",
       " '3051804335': 385,\n",
       " '3843631351': 386,\n",
       " '3890406080': 387,\n",
       " '3434513569': 388,\n",
       " '1630243360': 389,\n",
       " '1184535341': 390,\n",
       " '1006903887': 391,\n",
       " '1093614806': 392,\n",
       " '2129718710': 393,\n",
       " '1341096506': 394,\n",
       " '1657604679': 396,\n",
       " '1860511950': 397,\n",
       " '1854380763': 398,\n",
       " '2017624114': 399,\n",
       " '1365361942': 400,\n",
       " '146887909': 401,\n",
       " '3221466050': 402,\n",
       " '2794180407': 403,\n",
       " '450183377': 404,\n",
       " '553840202': 405,\n",
       " '321597084': 406,\n",
       " '679700922': 407,\n",
       " '1889940073': 408,\n",
       " '3890023938': 410,\n",
       " '3617812300': 411,\n",
       " '826832481': 412,\n",
       " '1190152428': 413,\n",
       " '2706390147': 414,\n",
       " '1935315082': 415,\n",
       " '2644800408': 416,\n",
       " '2906696294': 417,\n",
       " '525889178': 418,\n",
       " '1033421355': 419,\n",
       " '4172382349': 420,\n",
       " '3021023405': 421,\n",
       " '4072078077': 422,\n",
       " '4205511631': 423,\n",
       " '4264461482': 424,\n",
       " '2844691787': 425,\n",
       " '4070309332': 426,\n",
       " '3610112479': 427,\n",
       " '619666754': 429,\n",
       " '3938234624': 430,\n",
       " '2077865887': 431,\n",
       " '737340986': 433,\n",
       " '1686028847': 434,\n",
       " '2190223358': 435,\n",
       " '3855173861': 436,\n",
       " '92434189': 2898,\n",
       " '3318022618': 437,\n",
       " '383607907': 438,\n",
       " '4280897548': 1850,\n",
       " '3988717856': 440,\n",
       " '582287969': 441,\n",
       " '3119717504': 442,\n",
       " '704244113': 443,\n",
       " '2996288314': 444,\n",
       " '3913698961': 445,\n",
       " '536059045': 446,\n",
       " '1363545588': 448,\n",
       " '2588804869': 449,\n",
       " '2409474647': 450,\n",
       " '553125617': 451,\n",
       " '1764172149': 452,\n",
       " '2115776454': 453,\n",
       " '1507489572': 454,\n",
       " '4027073137': 455,\n",
       " '4192978272': 456,\n",
       " '4037816474': 457,\n",
       " '4120806416': 458,\n",
       " '2706955572': 459,\n",
       " '51076977': 460,\n",
       " '512403156': 461,\n",
       " '3865518711': 462,\n",
       " '2662850238': 463,\n",
       " '3441655380': 464,\n",
       " '1819998447': 465,\n",
       " '3531332626': 466,\n",
       " '3980181155': 467,\n",
       " '643979828': 468,\n",
       " '1640004842': 469,\n",
       " '3289739345': 470,\n",
       " '1948173913': 471,\n",
       " '3434354867': 472,\n",
       " '2384254802': 473,\n",
       " '3402377961': 474,\n",
       " '1647257656': 475,\n",
       " '3183605169': 476,\n",
       " '4156705844': 477,\n",
       " '2928192183': 478,\n",
       " '1077825961': 479,\n",
       " '1187117667': 480,\n",
       " '1527128646': 481,\n",
       " '3501509607': 482,\n",
       " '99226238': 483,\n",
       " '1403176651': 484,\n",
       " '2572117226': 485,\n",
       " '3021122125': 3073,\n",
       " '1146130134': 487,\n",
       " '2263694418': 488,\n",
       " '3187969599': 489,\n",
       " '410842839': 490,\n",
       " '2828360569': 491,\n",
       " '1807883016': 492,\n",
       " '1179474743': 493,\n",
       " '1099380892': 494,\n",
       " '2971102319': 495,\n",
       " '2944816123': 496,\n",
       " '3268726556': 497,\n",
       " '457253413': 498,\n",
       " '3534827249': 499,\n",
       " '2834364568': 500,\n",
       " '3788504448': 501,\n",
       " '1565011423': 502,\n",
       " '3190717208': 503,\n",
       " '4202744793': 504,\n",
       " '3500532250': 505,\n",
       " '2568221006': 506,\n",
       " '2418119146': 5542,\n",
       " '2180353936': 508,\n",
       " '1315709702': 509,\n",
       " '2559164171': 510,\n",
       " '3219983221': 511,\n",
       " '3286516126': 512,\n",
       " '866903362': 513,\n",
       " '2370228216': 514,\n",
       " '353850493': 515,\n",
       " '3823594890': 516,\n",
       " '2798408743': 517,\n",
       " '2450647909': 4308,\n",
       " '326944617': 519,\n",
       " '1237174145': 520,\n",
       " '4000643494': 521,\n",
       " '1245942866': 522,\n",
       " '2671865684': 523,\n",
       " '1955298811': 524,\n",
       " '3846957590': 11533,\n",
       " '2274599788': 526,\n",
       " '974024618': 527,\n",
       " '914240358': 529,\n",
       " '2178315774': 530,\n",
       " '1819771813': 531,\n",
       " '785309813': 532,\n",
       " '3492796375': 533,\n",
       " '519767743': 534,\n",
       " '3075707957': 535,\n",
       " '769827874': 536,\n",
       " '2036167774': 537,\n",
       " '4254934247': 538,\n",
       " '58444357': 539,\n",
       " '1005830738': 540,\n",
       " '2608593001': 541,\n",
       " '1387775604': 542,\n",
       " '1977475739': 543,\n",
       " '2444024386': 544,\n",
       " '85675684': 545,\n",
       " '3466325304': 546,\n",
       " '3275948662': 547,\n",
       " '2301324542': 548,\n",
       " '3946619910': 549,\n",
       " '787562214': 550,\n",
       " '1329952040': 551,\n",
       " '3067222491': 3391,\n",
       " '3089507532': 552,\n",
       " '67648066': 553,\n",
       " '3211869804': 554,\n",
       " '1296215153': 555,\n",
       " '2704376528': 556,\n",
       " '643535605': 557,\n",
       " '3701320707': 558,\n",
       " '2209898896': 813,\n",
       " '3129396339': 559,\n",
       " '1711311187': 3440,\n",
       " '3931717290': 561,\n",
       " '896485186': 562,\n",
       " '1824198418': 563,\n",
       " '1829771929': 564,\n",
       " '526347239': 566,\n",
       " '1407801833': 567,\n",
       " '2084337326': 568,\n",
       " '3391397881': 569,\n",
       " '882150572': 3379,\n",
       " '1551306530': 570,\n",
       " '4276521055': 571,\n",
       " '1439724705': 572,\n",
       " '1700908753': 573,\n",
       " '1783630773': 574,\n",
       " '1605832718': 575,\n",
       " '2071994542': 576,\n",
       " '468922992': 577,\n",
       " '2614611034': 578,\n",
       " '1068118073': 3625,\n",
       " '2883057132': 580,\n",
       " '2422202663': 581,\n",
       " '1209548026': 582,\n",
       " '1955143671': 583,\n",
       " '1872585098': 584,\n",
       " '1793588465': 585,\n",
       " '3636792221': 586,\n",
       " '2020109352': 587,\n",
       " '424156215': 5678,\n",
       " '4086500156': 588,\n",
       " '4112668226': 589,\n",
       " '374048503': 590,\n",
       " '830183321': 591,\n",
       " '2808705599': 593,\n",
       " '3722242006': 594,\n",
       " '1044785443': 596,\n",
       " '1261557576': 597,\n",
       " '328882352': 598,\n",
       " '1281335602': 600,\n",
       " '1064284965': 601,\n",
       " '3022634670': 602,\n",
       " '1953860425': 603,\n",
       " '927693315': 604,\n",
       " '2533071551': 605,\n",
       " '2505738116': 606,\n",
       " '3602218872': 607,\n",
       " '693206007': 608,\n",
       " '663617415': 609,\n",
       " '2539026679': 610,\n",
       " '3413478237': 611,\n",
       " '3926217735': 612,\n",
       " '2505330132': 613,\n",
       " '832277631': 614,\n",
       " '3622325352': 615,\n",
       " '3200581311': 616,\n",
       " '2053603846': 617,\n",
       " '2704232594': 618,\n",
       " '1582270949': 619,\n",
       " '4125204455': 620,\n",
       " '3981836848': 621,\n",
       " '3855347794': 622,\n",
       " '939509575': 623,\n",
       " '1801869689': 6440,\n",
       " '3754239356': 624,\n",
       " '1545607295': 625,\n",
       " '1163805498': 626,\n",
       " '2650490227': 627,\n",
       " '3017293541': 628,\n",
       " '2011450028': 629,\n",
       " '3231944809': 630,\n",
       " '3935076467': 631,\n",
       " '432884667': 632,\n",
       " '3341857073': 633,\n",
       " '3113660150': 634,\n",
       " '852324847': 636,\n",
       " '4071218196': 3977,\n",
       " '1351006732': 638,\n",
       " '3438993032': 8211,\n",
       " '1381165425': 639,\n",
       " '1274017391': 640,\n",
       " '3425996117': 641,\n",
       " '1986416649': 642,\n",
       " '1153175316': 643,\n",
       " '787628032': 644,\n",
       " '2028042509': 645,\n",
       " '3404987729': 646,\n",
       " '3067996970': 647,\n",
       " '3663891590': 10721,\n",
       " '263011441': 648,\n",
       " '1515079649': 565,\n",
       " '1883524093': 650,\n",
       " '3034841234': 651,\n",
       " '1154290723': 1463,\n",
       " '474449136': 652,\n",
       " '289899674': 653,\n",
       " '3225161223': 654,\n",
       " '788806703': 655,\n",
       " '947107369': 656,\n",
       " '1582951351': 657,\n",
       " '4265093803': 658,\n",
       " '1817434960': 659,\n",
       " '832111597': 660,\n",
       " '2219392559': 661,\n",
       " '2384973677': 662,\n",
       " '2118368309': 663,\n",
       " '2322818360': 1465,\n",
       " '3809205963': 664,\n",
       " '3430641796': 665,\n",
       " '3126297081': 666,\n",
       " '1844176380': 667,\n",
       " '4110062919': 668,\n",
       " '2993747793': 669,\n",
       " '878068450': 670,\n",
       " '2424637456': 671,\n",
       " '956438727': 672,\n",
       " '590488063': 673,\n",
       " '3621854275': 674,\n",
       " '268174971': 675,\n",
       " '4220792229': 676,\n",
       " '293751558': 677,\n",
       " '1801766962': 2324,\n",
       " '3319506135': 679,\n",
       " '3101776934': 4268,\n",
       " '2368911433': 681,\n",
       " '964120039': 682,\n",
       " '4099353109': 683,\n",
       " '1742102536': 684,\n",
       " '1359556127': 685,\n",
       " '1271755958': 686,\n",
       " '1018819627': 687,\n",
       " '3580442023': 688,\n",
       " '4232519602': 689,\n",
       " '1032588622': 690,\n",
       " '1342847040': 691,\n",
       " '2610561518': 692,\n",
       " '4002881841': 693,\n",
       " '1023712594': 694,\n",
       " '2509552492': 695,\n",
       " '3629737683': 696,\n",
       " '561449801': 697,\n",
       " '945869322': 698,\n",
       " '2179267582': 699,\n",
       " '1359749784': 700,\n",
       " '2766617713': 701,\n",
       " '2859654056': 702,\n",
       " '845902488': 703,\n",
       " '760916752': 704,\n",
       " '705007381': 705,\n",
       " '4080537914': 4397,\n",
       " '1764411835': 707,\n",
       " '1945597998': 708,\n",
       " '4104785185': 709,\n",
       " '170511774': 2904,\n",
       " '2455219297': 4416,\n",
       " '3906291725': 712,\n",
       " '2748187097': 13073,\n",
       " '3171268449': 714,\n",
       " '176859368': 715,\n",
       " '2839635887': 716,\n",
       " '2391976137': 718,\n",
       " '2424074793': 719,\n",
       " '1023138400': 720,\n",
       " '426166781': 721,\n",
       " '249760834': 722,\n",
       " '3222871469': 723,\n",
       " '3834889020': 724,\n",
       " '3482282242': 725,\n",
       " '1255629030': 726,\n",
       " '3501001868': 727,\n",
       " '2802110996': 728,\n",
       " '1807182727': 729,\n",
       " '1340479010': 730,\n",
       " '172405986': 731,\n",
       " '3548928882': 732,\n",
       " '1062024228': 733,\n",
       " '3950787980': 734,\n",
       " '3635358150': 735,\n",
       " '1389265162': 736,\n",
       " '547383999': 737,\n",
       " '2895849260': 4560,\n",
       " '3656008998': 739,\n",
       " '3842924038': 740,\n",
       " '3658165839': 741,\n",
       " '4188214514': 742,\n",
       " '3086836700': 5417,\n",
       " '3008408180': 745,\n",
       " '1572089933': 746,\n",
       " '393162138': 747,\n",
       " '4051353547': 748,\n",
       " '1658768128': 749,\n",
       " '1506378274': 751,\n",
       " '743289246': 752,\n",
       " '1596190412': 753,\n",
       " '471488113': 754,\n",
       " '1327533901': 755,\n",
       " '3503174392': 4571,\n",
       " '2806794871': 757,\n",
       " '2893435883': 758,\n",
       " '3837372536': 11141,\n",
       " '24645215': 759,\n",
       " '35091389': 760,\n",
       " '2184211588': 761,\n",
       " '610221734': 763,\n",
       " '3284750825': 764,\n",
       " '3326401128': 765,\n",
       " '885971279': 766,\n",
       " '2692070381': 767,\n",
       " '3590807274': 4707,\n",
       " '3479738412': 769,\n",
       " '899213418': 770,\n",
       " '663120398': 771,\n",
       " '1764159783': 772,\n",
       " '1620415785': 773,\n",
       " '3579174462': 774,\n",
       " '1079899197': 775,\n",
       " '2554360190': 776,\n",
       " '3700378878': 778,\n",
       " '2567308538': 779,\n",
       " '1012343640': 780,\n",
       " '705138890': 781,\n",
       " '1142967652': 782,\n",
       " '2943640347': 783,\n",
       " '363024307': 1166,\n",
       " '3803531290': 785,\n",
       " '1722968298': 4578,\n",
       " '3436633625': 787,\n",
       " '679023125': 788,\n",
       " '2554361988': 789,\n",
       " '3250536690': 790,\n",
       " '2062625787': 791,\n",
       " '918116457': 792,\n",
       " '937839032': 4878,\n",
       " '816912378': 794,\n",
       " '2460957668': 795,\n",
       " '3632072502': 796,\n",
       " '2153348068': 797,\n",
       " '3304261393': 798,\n",
       " '3847927617': 799,\n",
       " '3671450770': 802,\n",
       " '3123256869': 803,\n",
       " '940376988': 804,\n",
       " '1430458652': 805,\n",
       " '667664881': 806,\n",
       " '2925109008': 807,\n",
       " '688975255': 808,\n",
       " '2963144429': 809,\n",
       " '1036961928': 810,\n",
       " '1395200630': 811,\n",
       " '951253136': 812,\n",
       " '915403718': 11342,\n",
       " '3926229879': 814,\n",
       " '1122283794': 815,\n",
       " '3628957138': 816,\n",
       " '1850184598': 817,\n",
       " '3161434996': 818,\n",
       " '1711893150': 819,\n",
       " '3547653054': 820,\n",
       " '1274527630': 821,\n",
       " '61104529': 822,\n",
       " '4262164602': 8469,\n",
       " '2840642149': 823,\n",
       " '3155836085': 824,\n",
       " '2063976566': 825,\n",
       " '3330051251': 827,\n",
       " '872878580': 828,\n",
       " '312581825': 829,\n",
       " '137465175': 137,\n",
       " '1120182267': 832,\n",
       " '3863651111': 833,\n",
       " '2420516619': 8439,\n",
       " '1486919469': 834,\n",
       " '4228109405': 835,\n",
       " '1960789592': 836,\n",
       " '63726188': 839,\n",
       " '2688159351': 840,\n",
       " '3369636425': 841,\n",
       " '87840033': 843,\n",
       " '3658522039': 9856,\n",
       " '1730501944': 844,\n",
       " '4235863537': 845,\n",
       " '2454980175': 846,\n",
       " '300126317': 847,\n",
       " '578037803': 848,\n",
       " '1401314683': 5285,\n",
       " '646715160': 850,\n",
       " '4266815563': 851,\n",
       " '4256067371': 852,\n",
       " '721082024': 853,\n",
       " '1294433853': 854,\n",
       " '2254075965': 855,\n",
       " '256505275': 856,\n",
       " '1170318717': 857,\n",
       " '3282413042': 10081,\n",
       " '468069570': 858,\n",
       " '3191533412': 859,\n",
       " '3321517547': 860,\n",
       " '626503343': 862,\n",
       " '1400053177': 863,\n",
       " '1170338316': 864,\n",
       " '1385126312': 865,\n",
       " '3429958607': 867,\n",
       " '2137154383': 868,\n",
       " '69856756': 5419,\n",
       " '1454534917': 870,\n",
       " '744858144': 871,\n",
       " '1757362667': 872,\n",
       " '2976928477': 873,\n",
       " '3453997003': 875,\n",
       " '2007279414': 876,\n",
       " '473090869': 877,\n",
       " '1020530176': 878,\n",
       " '1407659332': 973,\n",
       " '818142116': 5487,\n",
       " '181332418': 881,\n",
       " '536196786': 882,\n",
       " '493625429': 883,\n",
       " '3054051090': 884,\n",
       " '2269626530': 885,\n",
       " '2159444507': 886,\n",
       " '974085606': 887,\n",
       " '1396446223': 889,\n",
       " '1310931838': 890,\n",
       " '1669367540': 891,\n",
       " '2758697837': 892,\n",
       " '726662409': 893,\n",
       " '3432819058': 894,\n",
       " '2279381833': 895,\n",
       " '4004100709': 896,\n",
       " '3684919275': 897,\n",
       " '1769487166': 898,\n",
       " '815715465': 899,\n",
       " '2088284484': 900,\n",
       " '1554642353': 901,\n",
       " '3681999765': 902,\n",
       " '1812117472': 903,\n",
       " '64442250': 904,\n",
       " '692075109': 905,\n",
       " '615449287': 3507,\n",
       " '877202695': 907,\n",
       " '4189303160': 908,\n",
       " '1214605379': 909,\n",
       " '44607617': 910,\n",
       " '1696929787': 911,\n",
       " '1506510838': 912,\n",
       " '317758728': 914,\n",
       " '2505215665': 915,\n",
       " '54535450': 916,\n",
       " '1880608957': 917,\n",
       " '4181300264': 918,\n",
       " '493246293': 8326,\n",
       " '2375399520': 6152,\n",
       " '3416395266': 919,\n",
       " '2490438703': 920,\n",
       " '2021591040': 921,\n",
       " '4215173213': 922,\n",
       " '4100237668': 923,\n",
       " '3887323073': 924,\n",
       " '1951237429': 925,\n",
       " '3129233779': 926,\n",
       " '3080864770': 927,\n",
       " '1282392038': 928,\n",
       " '2491530958': 929,\n",
       " '3765974734': 930,\n",
       " '2518430453': 931,\n",
       " '3406035843': 932,\n",
       " '604019700': 933,\n",
       " '2213514822': 934,\n",
       " '2714036762': 936,\n",
       " '3045891165': 937,\n",
       " '1287884858': 939,\n",
       " '1177314523': 153,\n",
       " '565086586': 941,\n",
       " '1386545389': 942,\n",
       " '3123645626': 943,\n",
       " '887203538': 944,\n",
       " '3864658857': 945,\n",
       " '2378521366': 4235,\n",
       " '3794166180': 947,\n",
       " '4267881656': 948,\n",
       " '3596510482': 5169,\n",
       " '2038842201': 950,\n",
       " '1720077487': 951,\n",
       " '2585162162': 952,\n",
       " '3097220122': 953,\n",
       " '1701917923': 5912,\n",
       " '2352676247': 6823,\n",
       " '3592182997': 11377,\n",
       " '1633263987': 956,\n",
       " '2253311961': 957,\n",
       " '1704192379': 958,\n",
       " '3235943764': 959,\n",
       " '681905393': 4609,\n",
       " '1256540913': 961,\n",
       " '361295277': 962,\n",
       " '682567291': 963,\n",
       " '3949409640': 964,\n",
       " '1702401336': 965,\n",
       " '3237640011': 966,\n",
       " '1602227394': 967,\n",
       " '383563223': 968,\n",
       " '252821798': 969,\n",
       " '1355891623': 970,\n",
       " '2393885244': 971,\n",
       " '943870191': 972,\n",
       " '846069276': 974,\n",
       " '3622885988': 4980,\n",
       " '2363524424': 975,\n",
       " '1044854627': 976,\n",
       " '1565715575': 977,\n",
       " '110357109': 978,\n",
       " '1380051674': 979,\n",
       " '2780690728': 980,\n",
       " '396698671': 981,\n",
       " '1396454425': 982,\n",
       " '733567972': 983,\n",
       " '1272961219': 984,\n",
       " '316055690': 985,\n",
       " '398208897': 986,\n",
       " '1118969585': 987,\n",
       " '1855529308': 988,\n",
       " '613851355': 989,\n",
       " '1516820536': 990,\n",
       " '480523741': 992,\n",
       " '939563341': 993,\n",
       " '2145223158': 994,\n",
       " '3655295959': 995,\n",
       " '2452291959': 996,\n",
       " '791187416': 997,\n",
       " '3039309993': 998,\n",
       " '2157199483': 999,\n",
       " '1000018501': 1000,\n",
       " '1092379167': 1001,\n",
       " '1967012522': 1002,\n",
       " '2225155651': 1003,\n",
       " '1217440720': 1004,\n",
       " '2936461848': 1005,\n",
       " '1556853759': 1006,\n",
       " '3276095034': 1007,\n",
       " '1829766016': 1008,\n",
       " '2520855981': 1009,\n",
       " '2992424940': 1010,\n",
       " '1082833698': 1011,\n",
       " '1711030046': 1012,\n",
       " '3928351581': 1013,\n",
       " '2829792984': 1014,\n",
       " '843676515': 1015,\n",
       " '3679301219': 1016,\n",
       " '652541886': 4029,\n",
       " '1512723504': 1018,\n",
       " '3173314627': 1019,\n",
       " '1343845939': 1020,\n",
       " '3442103541': 1021,\n",
       " ...}"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "eventindex=cPickle.load(open(\"PE_eventIndex.pkl\"))\n",
    "eventindex"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "defaultdict(set,\n",
       "            {4: {3837, 7533, 8729, 11386, 11522, 12426},\n",
       "             5: {876, 1729, 2891, 5863, 6125, 6130},\n",
       "             8: {273, 796, 1706, 12334},\n",
       "             10: {876, 4089, 4667, 5863, 6130, 11206},\n",
       "             11: {749, 1656, 2269, 2410, 6383, 6908, 8666, 11512, 13416},\n",
       "             14: {651, 5585, 5703, 7128, 8995, 10190},\n",
       "             16: {35, 2597, 3503, 9265, 9298, 11215, 11845},\n",
       "             19: {28,\n",
       "              295,\n",
       "              621,\n",
       "              1615,\n",
       "              1836,\n",
       "              1952,\n",
       "              2643,\n",
       "              4720,\n",
       "              7309,\n",
       "              9514,\n",
       "              10927,\n",
       "              10932,\n",
       "              11168,\n",
       "              11975,\n",
       "              12231,\n",
       "              12354,\n",
       "              13183,\n",
       "              13320},\n",
       "             20: {184, 876, 1136, 4089, 4667, 11206},\n",
       "             21: {1328, 2190, 4948, 6864, 8165, 10155},\n",
       "             22: {836, 1811, 2051, 5155, 6623, 8357, 8513, 9090, 10233, 11967},\n",
       "             23: {983, 1656, 2410, 4122, 5558, 7162, 10890},\n",
       "             25: {944, 1178, 1585, 2300, 7633, 7645, 9957, 11685},\n",
       "             26: {3992, 6823, 7169, 8811, 11281, 11323, 11325},\n",
       "             27: {1466, 2234, 5072, 6590, 13059, 13094},\n",
       "             28: {876, 1729, 3593, 4667, 6445, 8208},\n",
       "             29: {364, 5155, 10779, 11727},\n",
       "             32: {796,\n",
       "              1092,\n",
       "              1656,\n",
       "              1706,\n",
       "              4025,\n",
       "              4763,\n",
       "              7162,\n",
       "              7843,\n",
       "              12334,\n",
       "              12609,\n",
       "              13068},\n",
       "             34: {8843, 10565, 10719, 11202, 11976, 12642, 13128},\n",
       "             35: {383,\n",
       "              1843,\n",
       "              1859,\n",
       "              2140,\n",
       "              3150,\n",
       "              3813,\n",
       "              4828,\n",
       "              5230,\n",
       "              5307,\n",
       "              5607,\n",
       "              6102,\n",
       "              6114,\n",
       "              6132,\n",
       "              6225,\n",
       "              7826,\n",
       "              8428,\n",
       "              9693,\n",
       "              10765,\n",
       "              10894,\n",
       "              10963,\n",
       "              11006,\n",
       "              11645,\n",
       "              12395,\n",
       "              12480,\n",
       "              12540,\n",
       "              13407},\n",
       "             37: {144, 3036, 3642, 7253, 8540, 10183, 12740},\n",
       "             38: {3096, 5337, 6622, 7733, 10408},\n",
       "             39: {208, 407, 3377, 3770, 7169, 9244, 10539, 10682},\n",
       "             42: {358,\n",
       "              705,\n",
       "              1656,\n",
       "              2691,\n",
       "              3001,\n",
       "              3133,\n",
       "              7162,\n",
       "              8666,\n",
       "              9012,\n",
       "              10801,\n",
       "              11306,\n",
       "              11363,\n",
       "              11505},\n",
       "             45: {1656, 1924, 3542, 8461, 9540, 13397},\n",
       "             47: {196, 1152, 1294, 6969, 8984, 11236},\n",
       "             51: {876, 1729, 2891, 4667, 5863, 12301},\n",
       "             52: {796, 3009, 4061, 5155, 9680, 12504},\n",
       "             53: {2519, 2970, 4341, 9587, 10259, 12247},\n",
       "             57: {939, 5043, 6363, 6377, 8673, 10359},\n",
       "             59: {704,\n",
       "              1215,\n",
       "              1740,\n",
       "              2046,\n",
       "              4042,\n",
       "              4557,\n",
       "              6549,\n",
       "              11275,\n",
       "              12462,\n",
       "              12701},\n",
       "             61: {796, 1656, 1706, 5072, 7162, 7843},\n",
       "             62: {3246, 5210, 7543, 7650, 7960, 12789},\n",
       "             63: {88, 2110, 4287, 5400, 5856, 7105},\n",
       "             64: {351, 1767, 2366, 2825, 3698, 8394, 8470, 8694, 11826},\n",
       "             66: {2082, 3454, 3531, 4955, 8618, 10851},\n",
       "             67: {796, 1656, 1706, 7162, 7843, 8875, 10865},\n",
       "             71: {1308, 2461, 5366, 6032, 6340, 11101, 12188},\n",
       "             74: {553, 6561, 8006, 8133, 9295, 12304},\n",
       "             75: {743, 776, 1217, 3725, 6566, 12842},\n",
       "             78: {546, 1449, 3244, 5732, 8682, 8951, 11186},\n",
       "             79: {950, 2031, 2271, 6978, 8836, 9379, 10123, 11783, 12725},\n",
       "             80: {2384, 7169, 8480, 8697, 9244, 12043},\n",
       "             81: {3908, 5526, 7117, 8146, 12936, 13111},\n",
       "             82: {476, 1656, 2410, 3517, 7158, 12574},\n",
       "             83: {507, 819, 3479, 6246, 6736, 8102, 11158},\n",
       "             85: {1913, 2302, 3503, 3917, 7215, 12305},\n",
       "             89: {775, 1482, 9273, 9583, 10612, 10895},\n",
       "             91: {1656, 2124, 2410, 2554, 3044, 5848, 7158, 12305, 12574},\n",
       "             92: {667, 876, 4089, 6125, 6130, 10575, 11835},\n",
       "             93: {183, 1432, 4824, 7989, 9061, 9908, 11444, 12808},\n",
       "             94: {3181, 6851, 7520, 8667, 11322, 13080},\n",
       "             95: {184, 667, 876, 1729, 4089, 4667},\n",
       "             98: {71, 6941, 7276, 7440, 9661, 12361},\n",
       "             100: {876, 1729, 4089, 4667, 6445, 11206},\n",
       "             101: {876, 4089, 4667, 9433, 9736, 10575},\n",
       "             102: {262, 3451, 4775, 4788, 11210, 12359},\n",
       "             103: {876, 1729, 2891, 4667, 8282, 9736},\n",
       "             105: {1656, 1730, 6223, 6747, 7162, 12837},\n",
       "             108: {2990, 3528, 3763, 5193, 11066, 11855, 13399},\n",
       "             109: {1503, 4667, 8180, 8287, 9916, 11206},\n",
       "             110: {683,\n",
       "              2838,\n",
       "              3827,\n",
       "              4349,\n",
       "              5274,\n",
       "              5372,\n",
       "              9489,\n",
       "              9886,\n",
       "              10883,\n",
       "              11964,\n",
       "              12137,\n",
       "              12621,\n",
       "              12762,\n",
       "              13292},\n",
       "             111: {1386, 3908, 4794, 5981, 6327, 12449},\n",
       "             112: {3513, 5831, 7038, 8540, 10547, 13110},\n",
       "             113: {156, 1786, 2178, 4072, 5828, 10997, 12978},\n",
       "             115: {3606, 9778, 10104, 10784},\n",
       "             117: {3233,\n",
       "              3594,\n",
       "              4129,\n",
       "              8717,\n",
       "              9200,\n",
       "              9733,\n",
       "              10203,\n",
       "              11626,\n",
       "              12356,\n",
       "              12583},\n",
       "             119: {434, 974, 4122, 4932, 5335, 5398, 5856, 6653, 10848, 10934},\n",
       "             120: {3514, 5092, 7259, 7295, 8723, 10146},\n",
       "             122: {184, 876, 2891, 4089, 6130, 10575},\n",
       "             123: {3605, 4351, 5279, 6174, 8756, 9689, 11063},\n",
       "             124: {1656, 2124, 2410, 5880, 7158, 9649, 11858, 12594},\n",
       "             129: {83, 864, 1283, 3908, 4769, 7554, 8352},\n",
       "             131: {876, 1729, 2229, 4667, 6130, 8721, 9360},\n",
       "             132: {6222, 6458, 6682, 7055},\n",
       "             134: {3617, 4547, 6190, 8458, 8678, 11079},\n",
       "             136: {1656, 2410, 2691, 2730, 4094, 7162, 10439},\n",
       "             137: {1535, 2574, 3804, 5081, 7198, 8759},\n",
       "             138: {1093, 3005, 3935, 3995, 4733, 6825},\n",
       "             139: {1082, 1964, 2662, 2982, 4277, 8722},\n",
       "             140: {349, 1740, 2404, 7684, 8076, 8514, 9243, 9797, 10633},\n",
       "             141: {26, 3473, 3929, 7164, 10388, 10971, 11386},\n",
       "             142: {509, 1199, 2056, 2663, 10248, 10433, 10474, 11695},\n",
       "             146: {3908, 5221, 8889, 11307, 11308, 11342},\n",
       "             147: {358, 2498, 4094, 10439, 11916, 12624},\n",
       "             148: {876, 4089, 4667, 6445, 9686, 10575},\n",
       "             149: {1721, 4480, 7162, 9614, 10973, 13191},\n",
       "             150: {144, 3642, 5613, 9007, 9826, 13342},\n",
       "             151: {2574, 2953, 3411, 5081, 6597, 7322, 7857, 11196},\n",
       "             152: {876, 2229, 4667, 6130, 9360, 10575},\n",
       "             153: {1107, 1642, 3041, 11608, 12166, 13187},\n",
       "             156: {1535, 1656, 5081, 7162, 9950, 10520},\n",
       "             160: {1321, 3967, 5383, 5562, 6103, 10063},\n",
       "             161: {2515, 4003, 5083, 6439, 7806, 12113},\n",
       "             163: {2449, 4156, 7664, 8828, 9793, 11031, 11989, 12035},\n",
       "             164: {138, 1074, 1393, 2168, 2686, 8684},\n",
       "             165: {667, 876, 1729, 4667, 6445, 7981, 11206},\n",
       "             166: {208, 3377, 3510, 5697, 9244, 10539, 10682},\n",
       "             168: {876, 2891, 2934, 5863, 6125, 9433},\n",
       "             169: {321, 1656, 1706, 4893, 7150, 7162, 7843, 8992},\n",
       "             171: {981, 1706, 5692, 7162},\n",
       "             172: {3097, 3517, 7150, 7299, 9202, 9471},\n",
       "             173: {789, 3469, 4122, 4287, 5400, 5558, 5699, 10562, 12932},\n",
       "             174: {1656, 3065, 3503, 5693, 7158, 7681, 10659, 13378},\n",
       "             175: {1656,\n",
       "              3187,\n",
       "              3786,\n",
       "              4760,\n",
       "              4957,\n",
       "              6949,\n",
       "              7643,\n",
       "              8386,\n",
       "              9287,\n",
       "              9295,\n",
       "              9526,\n",
       "              9762,\n",
       "              10913,\n",
       "              12708,\n",
       "              12949,\n",
       "              13111,\n",
       "              13148},\n",
       "             176: {3646, 4831, 5167, 6011, 6428, 8526},\n",
       "             177: {3382, 5224, 5304, 7085, 9574, 10154, 12920},\n",
       "             179: {6288, 8364, 8439, 11801, 12434, 12582},\n",
       "             180: {3204, 6505, 8002, 9017, 10462, 10567, 12622},\n",
       "             182: {3936, 7651, 8300, 11123, 11687, 12121},\n",
       "             183: {876, 2891, 4667, 5863, 6125, 6130, 8282, 10575},\n",
       "             185: {2524, 4208, 7389, 8062, 8610, 9826},\n",
       "             188: {2049, 6011, 6428, 7516, 7768, 10609},\n",
       "             189: {1169,\n",
       "              1846,\n",
       "              2003,\n",
       "              2504,\n",
       "              3266,\n",
       "              3920,\n",
       "              4445,\n",
       "              4489,\n",
       "              12170,\n",
       "              12329,\n",
       "              12647,\n",
       "              13336},\n",
       "             194: {360, 5308, 6296, 8999, 9100, 11801},\n",
       "             195: {467, 1656, 7162, 7164, 7291, 11999},\n",
       "             196: {4812, 5308, 5768, 11521, 11801, 12134, 12668},\n",
       "             197: {184, 876, 4089, 6125, 6130, 9360, 10575, 12908},\n",
       "             198: {2106, 6459, 8079, 8324, 9208, 11836, 12743},\n",
       "             199: {2804, 3020, 3149, 10017, 10525, 11435},\n",
       "             200: {1341, 4415, 5772, 6036, 7392, 8343},\n",
       "             201: {876, 1729, 2229, 4667, 6130, 6445, 10575},\n",
       "             202: {2562, 3503, 4780, 6951, 7168, 9503, 10188, 10245, 13248},\n",
       "             206: {132,\n",
       "              3886,\n",
       "              4036,\n",
       "              4450,\n",
       "              4585,\n",
       "              5725,\n",
       "              6741,\n",
       "              6763,\n",
       "              6849,\n",
       "              7564,\n",
       "              7657,\n",
       "              8201,\n",
       "              9208,\n",
       "              9537,\n",
       "              11308,\n",
       "              11342,\n",
       "              12303,\n",
       "              12449,\n",
       "              12493,\n",
       "              12888,\n",
       "              13111},\n",
       "             208: {796,\n",
       "              976,\n",
       "              1656,\n",
       "              1706,\n",
       "              2020,\n",
       "              3821,\n",
       "              4359,\n",
       "              7653,\n",
       "              7843,\n",
       "              9183,\n",
       "              12084,\n",
       "              12518},\n",
       "             209: {2269, 5883, 9012, 9474, 10145, 13136},\n",
       "             211: {170, 2536, 3234, 9498, 9530},\n",
       "             212: {100, 3137, 3161, 5597, 7713, 13295},\n",
       "             214: {898,\n",
       "              2395,\n",
       "              4388,\n",
       "              5467,\n",
       "              5541,\n",
       "              5843,\n",
       "              7271,\n",
       "              7302,\n",
       "              7521,\n",
       "              9293,\n",
       "              9471,\n",
       "              9744,\n",
       "              10029,\n",
       "              11505},\n",
       "             217: {83, 943, 5144, 5723, 11146, 12936},\n",
       "             219: {869, 6299, 10048, 10156, 10877, 11476},\n",
       "             221: {2271, 4706, 5650, 7340, 7756, 11428, 11995},\n",
       "             222: {88, 3045, 3128, 5467, 5534, 12909},\n",
       "             223: {1581, 5981, 7253, 10848, 11666, 12449},\n",
       "             224: {1159, 5387, 6662, 7201, 8513, 10882},\n",
       "             226: {2055, 2983, 3231, 5240, 7348, 7401, 9023, 12283, 12917},\n",
       "             227: {1287, 1785, 2499, 4984, 5770, 11035, 11446, 12556},\n",
       "             228: {308, 3059, 3780, 5752, 7829, 8514, 9928, 12781},\n",
       "             229: {2574, 5081, 5456, 6097, 6117, 6241, 6705},\n",
       "             230: {4206, 6139, 7255, 7463, 10620, 12092},\n",
       "             231: {1011, 1494, 1656, 2269, 2410, 7162, 8666, 9012},\n",
       "             233: {876, 4667, 6125, 7981, 8282, 9736},\n",
       "             236: {3024, 4579, 5884, 7386, 11081, 11787},\n",
       "             239: {2044, 3268, 6748, 7916, 8143, 11092, 13122},\n",
       "             240: {405, 2573, 2651, 3485, 9208, 10848},\n",
       "             241: {205, 611, 950, 7769, 8292, 9488},\n",
       "             243: {3321, 6741, 7178, 8643, 11559, 13383},\n",
       "             244: {2453, 3517, 6212, 7521, 10029, 11858, 13378},\n",
       "             249: {105, 675, 1479, 4035, 5199, 5522, 9961},\n",
       "             252: {734, 2178, 6055, 7649, 9647, 10754, 10997, 12978},\n",
       "             254: {1386, 4188, 4758, 5699, 9098},\n",
       "             255: {752, 2411, 2442, 5726, 9460, 10274},\n",
       "             256: {1475, 5393, 5758, 9296, 10485, 12412, 12676},\n",
       "             257: {415,\n",
       "              905,\n",
       "              1130,\n",
       "              1656,\n",
       "              2013,\n",
       "              2327,\n",
       "              2400,\n",
       "              2470,\n",
       "              3127,\n",
       "              4287,\n",
       "              5400,\n",
       "              5638,\n",
       "              9315,\n",
       "              11561,\n",
       "              12491},\n",
       "             259: {511, 676, 6486, 9365},\n",
       "             260: {368, 2997, 3680, 4131, 7755},\n",
       "             262: {496,\n",
       "              1379,\n",
       "              2560,\n",
       "              2570,\n",
       "              3151,\n",
       "              3574,\n",
       "              4702,\n",
       "              7757,\n",
       "              9219,\n",
       "              11112,\n",
       "              11551,\n",
       "              12014,\n",
       "              12457,\n",
       "              12854},\n",
       "             263: {4420, 5702, 8625, 10911, 11801, 12461},\n",
       "             264: {2271, 4160, 5866, 6363, 10359, 12992},\n",
       "             265: {1656,\n",
       "              2574,\n",
       "              3542,\n",
       "              4287,\n",
       "              5284,\n",
       "              5558,\n",
       "              6309,\n",
       "              7162,\n",
       "              8461,\n",
       "              12822,\n",
       "              13059},\n",
       "             266: {796,\n",
       "              1092,\n",
       "              1656,\n",
       "              1706,\n",
       "              3074,\n",
       "              3821,\n",
       "              4284,\n",
       "              6085,\n",
       "              6665,\n",
       "              7162,\n",
       "              7843,\n",
       "              8215},\n",
       "             267: {797,\n",
       "              854,\n",
       "              1319,\n",
       "              2397,\n",
       "              2765,\n",
       "              3789,\n",
       "              4173,\n",
       "              7214,\n",
       "              8105,\n",
       "              9458,\n",
       "              11762},\n",
       "             268: {510, 3514, 3687, 5213, 7939, 8540, 11185, 12595},\n",
       "             270: {910, 1400, 2819, 3377, 6650, 7169, 8811, 9933},\n",
       "             272: {3977, 4051, 7935, 9159, 11400, 12290},\n",
       "             274: {3912, 5572, 6895, 7065, 12434, 12982},\n",
       "             275: {649, 712, 1588, 7265, 7544, 7736, 7923, 10498},\n",
       "             276: {876, 1729, 4667, 8208, 9045},\n",
       "             277: {232, 2376, 3556, 3784, 4507, 12292},\n",
       "             278: {571, 1834, 2019, 4296, 8790, 10903, 11847, 11994},\n",
       "             279: {2320, 2827, 3908, 5794, 7451, 9208, 12708, 12823},\n",
       "             280: {1726, 5155, 6111, 6715, 11122, 12664},\n",
       "             282: {591, 1118, 5302, 6351, 7861, 9211, 13162},\n",
       "             286: {836, 1706, 4094, 6322, 7162, 10801},\n",
       "             287: {5089, 6005, 6454, 6504, 8010, 8298, 11236},\n",
       "             288: {754, 2922, 4609, 7774, 8650, 9494},\n",
       "             289: {1320, 3792, 5907, 7086, 7087, 10418, 11614, 12164, 12754},\n",
       "             292: {3782, 4597, 6011, 6935, 7516, 10609},\n",
       "             293: {1656, 2410, 4750, 5365, 7162, 7843, 8931, 12334},\n",
       "             295: {4095, 4146, 6214, 6724, 8536, 12958},\n",
       "             297: {321, 796, 1656, 1706, 7162, 7843},\n",
       "             298: {1869, 2422, 3105, 5206, 5268, 10975, 12074},\n",
       "             300: {3503, 3513, 3969, 5836, 8201},\n",
       "             301: {184, 876, 2934, 4089, 4433, 6125, 11206},\n",
       "             305: {107,\n",
       "              625,\n",
       "              1318,\n",
       "              4148,\n",
       "              5786,\n",
       "              6151,\n",
       "              6727,\n",
       "              6967,\n",
       "              7176,\n",
       "              7361,\n",
       "              7968,\n",
       "              7976,\n",
       "              8823,\n",
       "              10962,\n",
       "              11475,\n",
       "              12422,\n",
       "              12755},\n",
       "             306: {156, 1239, 2136, 3652, 4259, 7423},\n",
       "             307: {2271, 3362, 6978, 8234, 9379, 10006},\n",
       "             310: {3262, 4263, 10186, 10208, 13017, 13308},\n",
       "             311: {3908, 6378, 11998, 12268},\n",
       "             313: {1155, 4584, 4840, 6917, 9390, 11669},\n",
       "             314: {1656, 2410, 5365, 7162, 12020, 12114},\n",
       "             317: {722, 796, 1656, 1706, 2410, 7162, 7843, 12379},\n",
       "             319: {169, 1158, 1334, 3836, 4697, 12627},\n",
       "             320: {793, 796, 1656, 1706, 2410, 4094, 7162, 7843, 9104},\n",
       "             323: {129, 1662, 2304, 5874, 6249, 11255, 12046, 13025},\n",
       "             325: {2872, 3142, 4061, 5309, 6635, 8551},\n",
       "             326: {796, 1500, 1706, 6065, 7162, 9083},\n",
       "             327: {3118, 3917, 5997, 7718, 8079, 9208, 11176, 12305, 12902},\n",
       "             329: {2587, 6621, 10015, 11342, 12305, 12936},\n",
       "             330: {1581, 7253, 9208, 9262, 9526, 13111},\n",
       "             334: {4128, 4153, 5354, 7842, 10606, 11225},\n",
       "             335: {2217, 4856, 5458, 12138},\n",
       "             336: {1656,\n",
       "              2180,\n",
       "              5081,\n",
       "              5442,\n",
       "              5847,\n",
       "              7158,\n",
       "              7162,\n",
       "              7220,\n",
       "              8098,\n",
       "              9144,\n",
       "              9521,\n",
       "              9852,\n",
       "              10520},\n",
       "             337: {876, 1729, 4667, 6125, 6130, 9360, 10575},\n",
       "             338: {2117, 3175, 3535, 4989, 10980, 12838},\n",
       "             339: {2000,\n",
       "              2700,\n",
       "              4195,\n",
       "              5357,\n",
       "              6207,\n",
       "              6432,\n",
       "              7924,\n",
       "              8417,\n",
       "              9410,\n",
       "              11257,\n",
       "              11791,\n",
       "              12596},\n",
       "             341: {566, 796, 1656, 1706, 2432, 7162, 7843, 8052},\n",
       "             342: {669, 5262, 5396, 7423, 9402, 11206},\n",
       "             343: {1291, 6428, 6814, 13367},\n",
       "             344: {42, 2790, 4930, 5457, 11226, 12118},\n",
       "             349: {8, 6633, 8031, 10583, 12181},\n",
       "             354: {4061, 4443, 4750, 6662, 10921, 11332},\n",
       "             355: {1582, 2074, 2131, 3523, 4359, 7653, 12084},\n",
       "             356: {2143, 3503, 3831, 5968, 7097, 8137, 9822, 10697, 12280},\n",
       "             360: {195, 2905, 3551, 6013, 11779, 12544},\n",
       "             361: {726, 999, 3503, 7156, 12628, 12708},\n",
       "             362: {554, 3245, 3669, 3914, 6676, 9380},\n",
       "             364: {1656, 1706, 3870, 6500, 7162, 7843},\n",
       "             366: {1656, 4122, 5400, 5558, 7162, 7857},\n",
       "             368: {247, 876, 1729, 4667, 6130, 9751, 9755, 10575},\n",
       "             369: {618, 2345, 4732, 4993, 7439, 13116},\n",
       "             371: {2279, 5988, 8835, 9403, 10243},\n",
       "             374: {1656,\n",
       "              2410,\n",
       "              4122,\n",
       "              4287,\n",
       "              5400,\n",
       "              5558,\n",
       "              5594,\n",
       "              5848,\n",
       "              7158,\n",
       "              8079,\n",
       "              9660,\n",
       "              11858,\n",
       "              13378},\n",
       "             376: {796, 1397, 1706, 7162, 8052, 12023},\n",
       "             377: {1706, 2489, 3835, 4061, 4094, 6476, 7162, 9955, 11306},\n",
       "             378: {876, 4667, 6130, 6445, 9519, 11206},\n",
       "             380: {88,\n",
       "              411,\n",
       "              803,\n",
       "              2693,\n",
       "              3406,\n",
       "              4905,\n",
       "              4906,\n",
       "              5148,\n",
       "              6857,\n",
       "              7369,\n",
       "              8461,\n",
       "              9542,\n",
       "              10484,\n",
       "              10902,\n",
       "              11290},\n",
       "             381: {220, 1656, 1706, 2410, 2730, 4074, 4094, 7162, 7843, 10113},\n",
       "             382: {4833, 4987, 5037, 6462, 6725, 12194},\n",
       "             384: {1172, 1412, 1474, 2811, 8853, 9734},\n",
       "             388: {4065, 6924, 9266, 11162, 12225, 12670},\n",
       "             391: {547, 854, 1319, 2886, 3346, 3789, 7849, 8105, 11416, 13378},\n",
       "             392: {184, 876, 1729, 4667, 5863, 6130, 7981},\n",
       "             393: {344, 552, 1126, 6499, 8231, 8986},\n",
       "             397: {914, 3257, 4094, 5832, 6319, 6400, 9538, 11807},\n",
       "             400: {3272, 4184, 4270, 5599, 10109},\n",
       "             401: {492, 1214, 2851, 5078, 9623, 10056},\n",
       "             402: {1656, 2410, 2574, 5081, 5883, 7162, 7857, 11289},\n",
       "             403: {329, 4615, 6628, 6729, 11789, 12602},\n",
       "             406: {974,\n",
       "              1756,\n",
       "              1758,\n",
       "              2110,\n",
       "              2742,\n",
       "              5594,\n",
       "              5810,\n",
       "              7158,\n",
       "              9011,\n",
       "              9478,\n",
       "              9588,\n",
       "              12949},\n",
       "             408: {1502, 4898, 10934, 11185, 12595},\n",
       "             411: {444, 5478, 7425, 9944, 10743, 12749},\n",
       "             414: {1901, 2642, 7109, 7266, 9540, 10589, 12105},\n",
       "             416: {433,\n",
       "              906,\n",
       "              926,\n",
       "              1370,\n",
       "              1491,\n",
       "              1598,\n",
       "              2434,\n",
       "              2684,\n",
       "              3192,\n",
       "              3921,\n",
       "              4834,\n",
       "              5265,\n",
       "              5654,\n",
       "              5842,\n",
       "              7273,\n",
       "              7583,\n",
       "              8695,\n",
       "              9784,\n",
       "              10241,\n",
       "              10600,\n",
       "              11508,\n",
       "              11616,\n",
       "              11780,\n",
       "              11885,\n",
       "              12094,\n",
       "              12389,\n",
       "              12788,\n",
       "              12833,\n",
       "              12999},\n",
       "             417: {1424,\n",
       "              2274,\n",
       "              3842,\n",
       "              4678,\n",
       "              5285,\n",
       "              5833,\n",
       "              6185,\n",
       "              8937,\n",
       "              9152,\n",
       "              9669,\n",
       "              10453,\n",
       "              11300,\n",
       "              11980,\n",
       "              12178,\n",
       "              12471,\n",
       "              12832},\n",
       "             419: {272, 3035, 4764, 5313, 10496, 11458},\n",
       "             420: {903, 2819, 3377, 3770, 6449, 8811, 9244, 11027},\n",
       "             421: {876, 4089, 4667, 6445, 7981, 9360},\n",
       "             422: {476,\n",
       "              1656,\n",
       "              2410,\n",
       "              2441,\n",
       "              4175,\n",
       "              7158,\n",
       "              7566,\n",
       "              8399,\n",
       "              9690,\n",
       "              10289,\n",
       "              10348,\n",
       "              10554,\n",
       "              10605,\n",
       "              11956},\n",
       "             423: {1058, 2952, 3717, 3723, 5684, 8660, 8882, 12637, 13108},\n",
       "             424: {3503, 3908, 5030, 8201, 11342, 11773},\n",
       "             426: {2333, 3331, 5612, 5849, 6003, 8003, 9504},\n",
       "             427: {1656, 3408, 5221, 6212, 6391, 11632},\n",
       "             429: {8649, 8726, 10233, 10862, 12761},\n",
       "             430: {254,\n",
       "              344,\n",
       "              1126,\n",
       "              5066,\n",
       "              5993,\n",
       "              6729,\n",
       "              6808,\n",
       "              6853,\n",
       "              6877,\n",
       "              6939,\n",
       "              9788,\n",
       "              13387},\n",
       "             432: {361, 2775, 3362, 3657, 6978, 7147, 11574},\n",
       "             433: {605, 3255, 7721, 8479, 9334, 9534, 12681},\n",
       "             434: {8900, 9994, 11675, 12951},\n",
       "             437: {976, 1656, 1706, 2410, 3821, 4094, 7035, 7162, 7843},\n",
       "             439: {2725, 3405, 4216, 5868, 9075, 12811},\n",
       "             440: {4153, 4189, 6339, 8147, 9341, 11865},\n",
       "             441: {1978, 2002, 3499, 8115, 8896, 12186, 12714},\n",
       "             442: {476, 1656, 2678, 5699, 5856, 10165},\n",
       "             446: {184, 876, 1729, 4667, 5863, 6130},\n",
       "             447: {876, 1729, 3593, 4667, 9751, 13309},\n",
       "             448: {1656, 2574, 2660, 3542, 7162, 7857, 8461, 8485, 10176},\n",
       "             449: {1442, 2235, 2810, 3002, 6049, 12916},\n",
       "             450: {856, 1253, 1634, 3275, 11034, 11748},\n",
       "             451: {1619, 1773, 5565, 7162, 10921, 12829},\n",
       "             452: {4122, 4287, 4789, 5400, 5856, 5887, 10522},\n",
       "             453: {48, 1851, 4540, 6353, 10665, 11076},\n",
       "             454: {373, 2766, 6230, 7253, 7655, 9887},\n",
       "             457: {659,\n",
       "              1790,\n",
       "              2098,\n",
       "              3589,\n",
       "              4167,\n",
       "              4880,\n",
       "              5736,\n",
       "              6708,\n",
       "              6873,\n",
       "              7809,\n",
       "              10072,\n",
       "              11227},\n",
       "             458: {411, 803, 1581, 4498, 7150, 8753, 9208, 13378},\n",
       "             459: {1911, 2226, 8938, 9520, 9932, 12054},\n",
       "             460: {2290,\n",
       "              2369,\n",
       "              2433,\n",
       "              3790,\n",
       "              5646,\n",
       "              6153,\n",
       "              9146,\n",
       "              9946,\n",
       "              10781,\n",
       "              10900,\n",
       "              11145,\n",
       "              12152,\n",
       "              12521,\n",
       "              12696,\n",
       "              12698,\n",
       "              13386},\n",
       "             464: {2419, 3276, 3503, 4120, 4942, 9265, 12823},\n",
       "             466: {568, 1324, 2903, 3093, 3503, 7158, 9297},\n",
       "             467: {1164, 2102, 2741, 6280, 11331, 11815},\n",
       "             468: {796, 1656, 1706, 2410, 7162, 7843, 8513, 11862},\n",
       "             469: {859, 1562, 1567, 7627, 8273, 9383},\n",
       "             470: {6288, 6695, 8132, 9647, 10748, 11067, 13156},\n",
       "             471: {513, 682, 8666, 9012, 9038, 11347},\n",
       "             472: {1656,\n",
       "              2410,\n",
       "              2574,\n",
       "              4287,\n",
       "              5558,\n",
       "              7162,\n",
       "              7857,\n",
       "              8461,\n",
       "              12822,\n",
       "              12880},\n",
       "             474: {1672, 1876, 2600, 3362, 4201, 6274, 12080},\n",
       "             475: {2439, 4398, 7320, 8873, 9854, 10948},\n",
       "             476: {689, 2819, 6823, 8811, 9244, 11325},\n",
       "             477: {2366, 2637, 3698, 7590, 9768, 11528},\n",
       "             482: {1656, 1706, 4416, 7467, 7843, 12366},\n",
       "             483: {599, 2134, 2394, 6154, 6978, 9901},\n",
       "             486: {1857, 1917, 5791, 7574, 8248, 10084},\n",
       "             487: {184, 876, 1729, 4089, 4667, 7981},\n",
       "             488: {1100, 1301, 4315, 9671, 11152, 12949},\n",
       "             491: {1911, 2226, 8332, 9066, 9932, 11738},\n",
       "             493: {717, 4689, 5853, 6087, 8213, 8487, 11568},\n",
       "             494: {1691, 5130, 8935, 9132, 9540, 10015},\n",
       "             496: {2624, 4542, 4747, 5425, 7133, 10218},\n",
       "             500: {1656, 2410, 4661, 5594, 6554, 7158, 10050, 11721, 12153},\n",
       "             501: {1995, 3939, 9806, 10257, 10887, 13069},\n",
       "             503: {397, 693, 3377, 4877, 6123, 6811, 8369, 10539},\n",
       "             505: {2503, 3034, 3245, 6035, 6585, 8918},\n",
       "             508: {1656, 2410, 3343, 3596, 5883, 7051, 8117, 9038},\n",
       "             510: {598, 2717, 3035, 3616, 12723, 13139},\n",
       "             512: {1775, 5655, 7522, 8445, 11095, 11491},\n",
       "             513: {3159, 7397, 9437, 10960, 11647},\n",
       "             514: {584, 5991, 9224, 12490},\n",
       "             516: {6697, 6751, 8362, 8506, 9915, 13338},\n",
       "             518: {478, 4316, 5255, 6049, 6696, 9006, 9317},\n",
       "             519: {895, 2580, 4094, 4452, 4853, 6319, 9278},\n",
       "             521: {2988, 6530, 9208, 9421, 10990, 12888},\n",
       "             522: {876, 2891, 4667, 5863, 6130, 8282, 10575},\n",
       "             524: {4653, 6296, 8203, 11614, 11710, 13410},\n",
       "             525: {207, 2405, 3503, 7876, 9265, 11884},\n",
       "             527: {1656, 3112, 7843, 9208, 9955, 12468},\n",
       "             528: {1119,\n",
       "              3412,\n",
       "              3616,\n",
       "              4775,\n",
       "              4908,\n",
       "              5031,\n",
       "              5087,\n",
       "              7629,\n",
       "              8006,\n",
       "              8280,\n",
       "              9513,\n",
       "              10041,\n",
       "              11429},\n",
       "             529: {1402, 2612, 2738, 7888, 8946, 11978},\n",
       "             532: {729, 1250, 2960, 4805, 8233, 10939},\n",
       "             533: {450, 1297, 2047, 5089, 6803, 6969},\n",
       "             535: {261, 1942, 10497, 11988, 12016, 13071, 13173},\n",
       "             536: {796, 1656, 1706, 4359, 7162, 7843},\n",
       "             538: {667, 876, 2229, 4089, 4667, 11206},\n",
       "             542: {184, 876, 3593, 4089, 6130, 8282},\n",
       "             543: {2900, 5859, 6598, 6618, 8034, 12726, 13257},\n",
       "             544: {2172, 5352, 6320, 8079, 12708, 12888},\n",
       "             545: {876, 2229, 6130, 9360, 10575, 11206},\n",
       "             550: {187, 338, 4769, 5030, 8201, 9133, 9282, 12502, 12888},\n",
       "             551: {6077, 7101, 7155, 7436, 10772, 10938, 10961, 11155},\n",
       "             553: {2271, 3240, 3362, 9379, 11517, 12728},\n",
       "             554: {184, 876, 1729, 3593, 4089, 4667, 8208, 9736, 10575},\n",
       "             556: {2627, 3053, 8570, 8729, 9594, 11232},\n",
       "             557: {1877, 2023, 4460, 5983, 11688, 12230},\n",
       "             558: {2271, 6377, 7949, 9379, 9901, 10359},\n",
       "             559: {140, 391, 633, 1872, 3251, 5568, 7243, 7863, 9940},\n",
       "             560: {1834, 1956, 4431, 4617, 9815, 10799, 12141},\n",
       "             562: {69, 3860, 3979, 6398, 7312, 9200, 9374, 9547, 10094, 12248},\n",
       "             564: {2047, 2549, 4355, 5635, 7174, 9794},\n",
       "             565: {4380, 5873, 8834, 10225, 10275, 11057},\n",
       "             567: {2222, 5508, 7908, 8851, 11683},\n",
       "             568: {1150, 4458, 6254, 9895, 11775},\n",
       "             569: {3012, 6219, 9136, 9835},\n",
       "             572: {2631, 5072, 7550, 9027, 11707, 12660},\n",
       "             573: {439,\n",
       "              514,\n",
       "              636,\n",
       "              1086,\n",
       "              1163,\n",
       "              1171,\n",
       "              1515,\n",
       "              2142,\n",
       "              3171,\n",
       "              3658,\n",
       "              3727,\n",
       "              3956,\n",
       "              4121,\n",
       "              4307,\n",
       "              4784,\n",
       "              4833,\n",
       "              4845,\n",
       "              6297,\n",
       "              7283,\n",
       "              7836,\n",
       "              8316,\n",
       "              8622,\n",
       "              9149,\n",
       "              9301,\n",
       "              9380,\n",
       "              11356,\n",
       "              12500},\n",
       "             574: {876, 2752, 3593, 4089, 4667, 7981},\n",
       "             575: {2170, 2515, 4003, 10351, 10685, 11170},\n",
       "             576: {2323, 4319, 4684, 5511, 11403, 11830, 12916},\n",
       "             578: {476, 1656, 1899, 2410, 5594, 6212, 7158, 10657},\n",
       "             579: {1473, 3503, 5710, 6933},\n",
       "             582: {1535, 1656, 2574, 5081, 7162, 7857},\n",
       "             583: {876, 1729, 4667, 6130, 9686, 9736, 10575},\n",
       "             584: {4778, 4896, 5029, 6256, 7253, 8146, 9262, 10934},\n",
       "             585: {2585, 9157, 10393, 11096, 11872, 12894},\n",
       "             589: {3156, 5413, 7428, 7470, 9430, 10983},\n",
       "             592: {2574, 5081, 5173, 7857, 9540, 9600, 9950, 10829, 11200},\n",
       "             594: {930,\n",
       "              3440,\n",
       "              5518,\n",
       "              6528,\n",
       "              6690,\n",
       "              7017,\n",
       "              10098,\n",
       "              11589,\n",
       "              11718,\n",
       "              12733},\n",
       "             595: {378, 689, 2160, 6811, 9933, 10445},\n",
       "             600: {361, 1612, 2271, 3742, 5273, 6042, 8347},\n",
       "             602: {854, 2745, 7006, 9453, 10520, 11174, 13225},\n",
       "             604: {1774, 1969, 7834, 8280, 9133, 11360},\n",
       "             605: {350,\n",
       "              442,\n",
       "              691,\n",
       "              3062,\n",
       "              3327,\n",
       "              3888,\n",
       "              4551,\n",
       "              5233,\n",
       "              5308,\n",
       "              5572,\n",
       "              6903,\n",
       "              7796,\n",
       "              7834,\n",
       "              8364,\n",
       "              8899,\n",
       "              9325,\n",
       "              10774,\n",
       "              11154,\n",
       "              12819,\n",
       "              12982,\n",
       "              13192,\n",
       "              13412},\n",
       "             608: {88, 1506, 1581, 2802, 5072, 5622, 6260, 7253, 13078},\n",
       "             609: {3469, 4122, 4287, 5400, 5558, 7150, 13378},\n",
       "             610: {472, 2613, 7060, 7942},\n",
       "             613: {2664, 11615, 11763, 11962, 12415, 13355},\n",
       "             614: {1012, 2796, 5496, 11075, 12382, 13397},\n",
       "             615: {184, 876, 2891, 4089, 7981, 10575},\n",
       "             616: {1117, 6298, 8231, 9030, 11253},\n",
       "             617: {221, 476, 4070, 4122, 5400, 5699, 5856, 8247, 10833, 11527},\n",
       "             618: {184, 876, 2187, 4089, 6125, 6445, 8282, 10575},\n",
       "             619: {344, 1436, 2614, 5776, 9490, 11143},\n",
       "             620: {2639, 3534, 5092, 8054, 10210, 10428},\n",
       "             622: {3377, 3770, 8811, 9244, 11323, 11325},\n",
       "             623: {2388, 3992, 7169, 11281, 11323, 12410},\n",
       "             624: {3908, 8508, 9811, 11342, 11998},\n",
       "             625: {1904, 7150, 10184, 11559, 11760, 12331},\n",
       "             628: {645,\n",
       "              2805,\n",
       "              3154,\n",
       "              4118,\n",
       "              9247,\n",
       "              9644,\n",
       "              10594,\n",
       "              10616,\n",
       "              10644,\n",
       "              11046},\n",
       "             629: {737, 1581, 4070, 4122, 5400, 5877, 9262, 10050},\n",
       "             630: {576, 1324, 2119, 3288, 3418, 3745, 10798},\n",
       "             632: {6319, 6969, 8729, 9020, 10701, 11232, 12183},\n",
       "             633: {184, 876, 1729, 4089, 4667, 6445},\n",
       "             635: {674, 2076, 5594, 6554, 7158, 7698, 9231},\n",
       "             637: {1494,\n",
       "              2033,\n",
       "              3283,\n",
       "              3799,\n",
       "              7085,\n",
       "              8646,\n",
       "              9568,\n",
       "              9639,\n",
       "              10936,\n",
       "              12295,\n",
       "              13059,\n",
       "              13254},\n",
       "             638: {1834, 1956, 3423, 7609, 7970, 11190},\n",
       "             639: {1564,\n",
       "              4040,\n",
       "              6401,\n",
       "              6424,\n",
       "              7009,\n",
       "              8104,\n",
       "              9848,\n",
       "              9892,\n",
       "              10309,\n",
       "              10643},\n",
       "             642: {2051, 7497, 10921, 11430, 11850, 12142},\n",
       "             645: {1656, 1706, 5155, 7162, 7843, 12254},\n",
       "             646: {1205, 4913, 6052, 7114, 7708, 8988, 11489, 12463, 12960},\n",
       "             649: {1581, 1737, 4513, 5826, 7150, 7253, 12449},\n",
       "             650: {2123, 2768, 5280, 5441, 6626, 7503},\n",
       "             653: {237, 1911, 2226, 4996, 9932, 11206},\n",
       "             654: {1656,\n",
       "              2410,\n",
       "              2574,\n",
       "              3542,\n",
       "              4122,\n",
       "              4287,\n",
       "              5400,\n",
       "              5558,\n",
       "              12272,\n",
       "              12880},\n",
       "             656: {1337, 1753, 2745, 5014, 7370, 9250, 12491},\n",
       "             658: {1508, 3462, 8299, 8736, 10751, 12200, 12850},\n",
       "             660: {1022, 1803, 4344, 6592, 7926, 12866},\n",
       "             661: {3908, 5848, 8280, 11342, 11925, 13302},\n",
       "             662: {1067,\n",
       "              1100,\n",
       "              3402,\n",
       "              4381,\n",
       "              4654,\n",
       "              4812,\n",
       "              5052,\n",
       "              7745,\n",
       "              8436,\n",
       "              11235,\n",
       "              13156},\n",
       "             664: {580, 737, 1656, 1758, 2110, 3828, 5594, 5848, 7158, 9478},\n",
       "             665: {50, 1656, 2410, 5594, 6212, 7158, 12284},\n",
       "             667: {166, 1896, 2978, 6686, 11427, 11526},\n",
       "             668: {3542, 6809, 7162, 7163, 7857, 8461, 12805},\n",
       "             669: {2619, 4648, 7253, 7657, 11559, 13383},\n",
       "             670: {1390, 5184, 5520, 5794, 6936, 8146, 12747},\n",
       "             671: {476, 1338, 1656, 2410, 7158, 10934},\n",
       "             672: {669, 5262, 6983, 9916},\n",
       "             673: {2250, 7784, 8788, 10646, 11396},\n",
       "             674: {88, 1581, 6038, 6327, 8201, 12538},\n",
       "             677: {2645, 3001, 5788, 8763, 9474, 9632},\n",
       "             678: {796, 1656, 1706, 4305, 5155, 7162, 7843},\n",
       "             679: {1657,\n",
       "              3665,\n",
       "              6160,\n",
       "              7043,\n",
       "              7437,\n",
       "              7776,\n",
       "              8415,\n",
       "              9559,\n",
       "              10725,\n",
       "              11597,\n",
       "              12085,\n",
       "              12727},\n",
       "             680: {148, 4533, 6639, 9041, 10040, 11142},\n",
       "             681: {4090, 4122, 5558, 5907, 7150, 9471, 13378},\n",
       "             682: {3542, 4122, 4287, 5400, 5558, 7162, 9471},\n",
       "             685: {2362, 7500, 8360, 8589, 9603, 10399},\n",
       "             687: {184, 876, 1136, 4089, 6125, 9433},\n",
       "             688: {3542,\n",
       "              3606,\n",
       "              4287,\n",
       "              5558,\n",
       "              5615,\n",
       "              6374,\n",
       "              6420,\n",
       "              9136,\n",
       "              9315,\n",
       "              10784,\n",
       "              12309,\n",
       "              12822},\n",
       "             690: {2225, 4063, 5995, 7515, 7746, 8266, 9417, 11501},\n",
       "             691: {5765, 5870, 7288, 8768, 12371, 13045},\n",
       "             692: {1032, 3121, 6442, 7559, 11761, 12018},\n",
       "             693: {3345, 4200, 4871, 7991, 9386, 10926},\n",
       "             695: {2889, 3374, 4522, 6346, 7683, 9171, 10552, 12716},\n",
       "             696: {1557, 4886, 6319, 6841, 10349, 11232, 12576},\n",
       "             697: {436, 3841, 4495, 5403, 8501, 12535},\n",
       "             698: {2271, 6363, 6978, 8234, 9379, 12925},\n",
       "             700: {1656, 2574, 3542, 4287, 5400, 5856},\n",
       "             703: {558, 2616, 4141, 6568, 8224, 9099},\n",
       "             705: {1656,\n",
       "              4287,\n",
       "              5400,\n",
       "              5832,\n",
       "              6065,\n",
       "              7162,\n",
       "              7843,\n",
       "              8461,\n",
       "              8572,\n",
       "              10461,\n",
       "              12822,\n",
       "              13113},\n",
       "             706: {1581, 2330, 4753, 7150, 9208, 11166, 13406},\n",
       "             707: {519,\n",
       "              1610,\n",
       "              2079,\n",
       "              4788,\n",
       "              4799,\n",
       "              4849,\n",
       "              6503,\n",
       "              7728,\n",
       "              12844,\n",
       "              13021,\n",
       "              13139,\n",
       "              13264},\n",
       "             708: {1063, 2674, 3316, 5154, 8194, 10327, 11559, 11892},\n",
       "             710: {1656, 3127, 4368, 5239, 7162, 7329},\n",
       "             712: {1538, 1902, 4149, 8030, 8668, 11713},\n",
       "             716: {4, 1066, 3620, 6522, 11221, 11226},\n",
       "             718: {1706, 2691, 4336, 4359, 7162, 7843},\n",
       "             719: {377, 689, 1400, 7169, 9933, 11281, 11325},\n",
       "             720: {2860, 3155, 8201, 12628, 12800, 13245},\n",
       "             724: {7662, 9207, 11261, 12398, 12752, 12896, 12949},\n",
       "             725: {1971, 4600, 5862, 6477, 8740, 12072},\n",
       "             728: {377, 5390, 6823, 7169, 7457, 11027},\n",
       "             732: {1656, 4094, 7162, 7246, 8504, 10573, 12624},\n",
       "             733: {854, 3789, 3959, 5275, 6817, 7998, 8926, 11990, 12837},\n",
       "             734: {2024, 2805, 9644, 9696, 11046, 12395},\n",
       "             735: {1682, 3465, 7698, 8216, 9309, 11587},\n",
       "             736: {184, 876, 4089, 6125, 7981, 11206, 12277, 13309},\n",
       "             737: {2980, 4386, 5194, 7770, 9703, 12633},\n",
       "             738: {2596, 2938, 3905, 8689, 8764, 13364},\n",
       "             740: {417, 2031, 2134, 5549, 11677},\n",
       "             741: {1662, 2488, 2875, 2951, 5874, 8125, 8278},\n",
       "             742: {810, 3917, 6304, 6460, 6910, 11268, 11559, 11760},\n",
       "             744: {2791, 3352, 4176, 5719, 6068, 9125, 12096, 12196},\n",
       "             745: {255, 451, 2759, 5294, 5753, 8675},\n",
       "             747: {796, 1656, 1706, 2297, 7162, 7843, 10574},\n",
       "             748: {616, 2311, 4532, 6146, 11120, 13322},\n",
       "             749: {1305, 4943, 6375, 9620, 12319, 12470, 12659},\n",
       "             753: {1605, 2012, 2336, 2824, 4666, 5780, 10764},\n",
       "             755: {850, 1221, 5848, 8186},\n",
       "             756: {1656, 4094, 5155, 6065, 6228, 6665, 7162, 10801},\n",
       "             757: {1656, 4122, 5400, 5558, 7162, 7857},\n",
       "             758: {2485, 2639, 3248, 3503, 5311, 7274, 9757, 13340},\n",
       "             759: {476, 1656, 2410, 2453, 3517, 5594, 7158},\n",
       "             760: {1656, 4094, 4452, 7162, 10439, 10636},\n",
       "             763: {2410, 2871, 3765, 6552, 10989},\n",
       "             764: {324, 5626, 8877, 8928, 11056, 13232},\n",
       "             766: {796, 976, 1656, 1706, 2410, 4832, 7162, 7843, 9198, 11850},\n",
       "             768: {2099, 6386, 6387, 7732, 9882, 10665},\n",
       "             770: {2528, 4684, 10412, 11225},\n",
       "             771: {184, 876, 1729, 4089, 4667, 10575},\n",
       "             776: {393, 648, 698, 1274, 3385, 6893, 9586},\n",
       "             777: {876,\n",
       "              1911,\n",
       "              2226,\n",
       "              2229,\n",
       "              2752,\n",
       "              4667,\n",
       "              7929,\n",
       "              7981,\n",
       "              9736,\n",
       "              9932,\n",
       "              11206,\n",
       "              13047},\n",
       "             781: {31, 1148, 2929, 3955, 5543, 6502, 6845, 9691, 10177, 11867},\n",
       "             782: {103, 1656, 2410, 2964, 5883, 6807, 7162, 8666, 9012, 13385},\n",
       "             784: {3744, 5663, 8304, 8695, 9337, 12634, 13153},\n",
       "             787: {836, 1656, 1706, 2410, 7162, 7843},\n",
       "             789: {809,\n",
       "              3325,\n",
       "              3546,\n",
       "              5155,\n",
       "              5420,\n",
       "              5728,\n",
       "              7328,\n",
       "              9119,\n",
       "              12949,\n",
       "              13412},\n",
       "             791: {1072, 1279, 2505, 7905, 9311, 10758},\n",
       "             792: {2271, 2319, 3362, 6978, 9379, 10083, 12728},\n",
       "             794: {1647, 4190, 5577, 6691, 6840, 12168},\n",
       "             796: {361, 2271, 6978, 10006, 11335, 11692},\n",
       "             797: {518, 1656, 4094, 4113, 6322, 6634, 7162, 7879, 9870, 10439},\n",
       "             799: {5661, 6000, 6556, 7291, 10159, 10470},\n",
       "             800: {386, 1849, 2352, 8400, 8745, 9934, 11171, 12692, 13099},\n",
       "             801: {208, 407, 3510, 3770, 7169, 9244, 10539, 10682},\n",
       "             804: {141, 5138, 5256, 7057, 7869, 13078},\n",
       "             805: {1883, 5170, 8081, 9379, 11517, 12149},\n",
       "             806: {121, 3826, 5411, 7341, 8326, 8802},\n",
       "             810: {1246, 2620, 4723, 9628, 11477, 13273},\n",
       "             812: {267, 506, 5242, 5818, 9039, 10489, 10673, 10946},\n",
       "             813: {796, 1656, 1706, 7162, 7843, 9833},\n",
       "             814: {68, 441, 3366, 3917, 7687, 7902, 11270},\n",
       "             818: {1656, 3730, 4094, 7162, 8504, 10439},\n",
       "             819: {580,\n",
       "              1358,\n",
       "              3297,\n",
       "              4976,\n",
       "              4997,\n",
       "              5272,\n",
       "              5639,\n",
       "              6737,\n",
       "              8368,\n",
       "              8996,\n",
       "              9022,\n",
       "              11361},\n",
       "             820: {2152,\n",
       "              2262,\n",
       "              2551,\n",
       "              3335,\n",
       "              3428,\n",
       "              3990,\n",
       "              4594,\n",
       "              6043,\n",
       "              8661,\n",
       "              9509,\n",
       "              9549,\n",
       "              10516,\n",
       "              10546,\n",
       "              10613,\n",
       "              11074,\n",
       "              11805,\n",
       "              11853,\n",
       "              12265,\n",
       "              13376},\n",
       "             821: {3056,\n",
       "              3205,\n",
       "              3494,\n",
       "              4688,\n",
       "              7208,\n",
       "              8418,\n",
       "              8850,\n",
       "              9204,\n",
       "              11443,\n",
       "              11945,\n",
       "              12364,\n",
       "              13233},\n",
       "             823: {88, 3908, 5526, 7253, 10015, 12449, 13111},\n",
       "             824: {5254, 5978, 6210, 6627, 10671},\n",
       "             825: {4639, 6084, 9808, 10023, 11147, 12089, 12297, 13236},\n",
       "             826: {534, 961, 1915, 2134, 7668, 11574},\n",
       "             827: {88,\n",
       "              373,\n",
       "              919,\n",
       "              3284,\n",
       "              3503,\n",
       "              3917,\n",
       "              6771,\n",
       "              7323,\n",
       "              7807,\n",
       "              9392,\n",
       "              11022,\n",
       "              11135,\n",
       "              11637,\n",
       "              12259,\n",
       "              12352,\n",
       "              12984,\n",
       "              13255},\n",
       "             828: {1656, 1758, 2110, 5594, 7158, 7566},\n",
       "             829: {9,\n",
       "              2034,\n",
       "              2037,\n",
       "              3857,\n",
       "              5405,\n",
       "              5754,\n",
       "              8204,\n",
       "              8354,\n",
       "              10607,\n",
       "              10959,\n",
       "              12456},\n",
       "             830: {876, 1729, 4667, 5863, 9736, 11206},\n",
       "             833: {876, 3593, 6125, 8282, 9360, 10575},\n",
       "             834: {4802, 5299, 5763, 6730, 7523, 11930},\n",
       "             835: {356,\n",
       "              2574,\n",
       "              3452,\n",
       "              3606,\n",
       "              4393,\n",
       "              4744,\n",
       "              5081,\n",
       "              6876,\n",
       "              7162,\n",
       "              7857,\n",
       "              8729,\n",
       "              9910,\n",
       "              10668,\n",
       "              10701,\n",
       "              11731,\n",
       "              11807,\n",
       "              12757,\n",
       "              12880},\n",
       "             836: {1400,\n",
       "              1437,\n",
       "              5390,\n",
       "              5474,\n",
       "              6650,\n",
       "              7169,\n",
       "              8127,\n",
       "              8780,\n",
       "              9244,\n",
       "              11323,\n",
       "              11325},\n",
       "             839: {1729, 4667, 8208, 9066, 9751, 11206},\n",
       "             840: {1546, 8020, 10240, 10381, 12847, 13178, 13270},\n",
       "             843: {452, 4401, 6287, 10467, 11887, 12263},\n",
       "             844: {821, 1656, 1706, 4061, 4094, 7162, 7843, 11569, 13163},\n",
       "             845: {427, 529, 1188, 2515, 4003, 10888, 10891},\n",
       "             846: {4610, 4860, 7618, 7857, 8485, 11513, 13059},\n",
       "             847: {333,\n",
       "              672,\n",
       "              2604,\n",
       "              3131,\n",
       "              4169,\n",
       "              5814,\n",
       "              7611,\n",
       "              7615,\n",
       "              8111,\n",
       "              8136,\n",
       "              10180,\n",
       "              10648},\n",
       "             848: {375, 1045, 1978, 6048, 6152, 11906},\n",
       "             849: {202, 237, 1911, 2226, 4049, 9288},\n",
       "             850: {256, 1213, 4527, 8061, 10059, 12587},\n",
       "             851: {1673, 4105, 4981, 6496, 7897, 8892},\n",
       "             853: {457,\n",
       "              811,\n",
       "              1048,\n",
       "              1711,\n",
       "              2781,\n",
       "              2925,\n",
       "              2949,\n",
       "              3122,\n",
       "              3660,\n",
       "              3950,\n",
       "              4077,\n",
       "              4793,\n",
       "              4897,\n",
       "              5984,\n",
       "              6693,\n",
       "              6812,\n",
       "              7326,\n",
       "              7895,\n",
       "              8356,\n",
       "              8633,\n",
       "              8954,\n",
       "              9631,\n",
       "              9668,\n",
       "              9684,\n",
       "              10053,\n",
       "              10267,\n",
       "              10365,\n",
       "              10740,\n",
       "              10928,\n",
       "              11538,\n",
       "              11753,\n",
       "              11856,\n",
       "              12091,\n",
       "              12876,\n",
       "              12954,\n",
       "              12974,\n",
       "              13138},\n",
       "             857: {876, 5571, 6919, 8291, 8505, 9581, 11269, 12013},\n",
       "             859: {2380, 6319, 7700, 11440, 11543, 11842},\n",
       "             860: {79,\n",
       "              260,\n",
       "              5250,\n",
       "              5816,\n",
       "              8573,\n",
       "              10584,\n",
       "              10977,\n",
       "              11932,\n",
       "              12675,\n",
       "              12799,\n",
       "              13090,\n",
       "              13123},\n",
       "             862: {4090, 4122, 5400, 5558, 9315, 9837, 11721, 12822},\n",
       "             864: {5293, 6360, 7985, 9589, 12493, 13146},\n",
       "             866: {2106, 3908, 5950, 8079, 8280, 8993, 9513, 11389},\n",
       "             868: {344, 668, 4880, 6385, 9130, 10072, 12918},\n",
       "             869: {1911, 2226, 6819, 8332, 9066, 9932},\n",
       "             870: {2735, 4755, 7464, 7640, 8076, 9138, 9797},\n",
       "             872: {3515, 4788, 7741, 8155, 9500, 9676},\n",
       "             873: {567, 876, 2891, 2934, 4254, 5863, 9433, 10575},\n",
       "             876: {3215, 3763, 4553, 5453, 5917, 6878, 12029},\n",
       "             878: {849, 1268, 1292, 2917, 4665, 11875},\n",
       "             880: {4985, 8880, 10944, 11519, 12285, 12793},\n",
       "             881: {377, 3992, 6823, 8624, 9244, 11281},\n",
       "             883: {258, 1212, 1976, 5515, 8477, 8493, 8767},\n",
       "             886: {1656, 3928, 4302, 7162, 9012, 10233},\n",
       "             891: {385, 1581, 3542, 5783, 9826, 11559},\n",
       "             892: {976,\n",
       "              1656,\n",
       "              1706,\n",
       "              1707,\n",
       "              2410,\n",
       "              2746,\n",
       "              4336,\n",
       "              4359,\n",
       "              5676,\n",
       "              7162,\n",
       "              7843,\n",
       "              8456,\n",
       "              9198},\n",
       "             893: {1236, 1972, 2271, 4945, 5468, 6772, 8077, 8402, 11748},\n",
       "             894: {1548, 2067, 3576, 5332, 6578, 8942, 11930, 12116},\n",
       "             897: {341, 6062, 8607, 11118, 13072, 13182},\n",
       "             902: {3312, 3963, 5979, 6339, 9252, 11374},\n",
       "             904: {2026, 2649, 5329, 8388, 11606, 11678},\n",
       "             909: {149,\n",
       "              728,\n",
       "              4003,\n",
       "              4927,\n",
       "              6615,\n",
       "              8265,\n",
       "              8559,\n",
       "              9268,\n",
       "              10244,\n",
       "              10432,\n",
       "              10919,\n",
       "              12610},\n",
       "             911: {3793, 4212, 6648, 7253, 7691, 13111},\n",
       "             912: {344, 7697, 8196, 8857, 12037, 12486},\n",
       "             914: {760, 8152, 8161, 9606, 13278},\n",
       "             915: {4122, 5400, 5856, 6309, 7163, 10934},\n",
       "             916: {4831, 5657, 6428, 6921, 6955},\n",
       "             917: {4094, 6319, 7714, 8387, 11175, 12955},\n",
       "             918: {2022, 3117, 5030, 6648, 7253, 7297, 12336},\n",
       "             919: {2274, 2970, 5766, 7181, 12363, 13312},\n",
       "             921: {876, 2891, 6130, 7981, 9433, 10575, 12467},\n",
       "             922: {1777, 5467, 9991, 11308, 12574},\n",
       "             926: {674, 737, 1656, 2410, 3532, 5594, 7158, 12325},\n",
       "             927: {88, 3542, 4778, 10175, 10848, 12144},\n",
       "             929: {3699, 9126, 9255, 11120, 11180},\n",
       "             930: {220, 980, 2280, 5155, 9443, 10280, 11456},\n",
       "             931: {1774, 5572, 5907, 12823},\n",
       "             932: {144, 3148, 3642, 5613, 9007, 9515},\n",
       "             937: {1903, 2029, 6706, 7206, 8996, 12173},\n",
       "             938: {90, 530, 1349, 4294, 4501, 5869, 7877, 9217, 10982},\n",
       "             939: {155, 1405, 9468, 9474, 11578, 12539},\n",
       "             941: {4090, 4122, 5558, 6045, 7150, 10135, 12932},\n",
       "             944: {918, 6081, 6838, 9960, 10372, 12555, 12936},\n",
       "             946: {37,\n",
       "              577,\n",
       "              646,\n",
       "              1098,\n",
       "              1656,\n",
       "              2656,\n",
       "              3415,\n",
       "              4655,\n",
       "              5088,\n",
       "              5098,\n",
       "              6137,\n",
       "              6788,\n",
       "              7162,\n",
       "              7474,\n",
       "              7552,\n",
       "              8666,\n",
       "              9743,\n",
       "              10442,\n",
       "              10947,\n",
       "              11977,\n",
       "              12816,\n",
       "              12837},\n",
       "             947: {937, 4182, 4731, 8308, 9630, 10978, 12774},\n",
       "             948: {5136, 5221, 6989, 10848, 11457, 12888},\n",
       "             952: {1591, 2141, 4758, 12747},\n",
       "             955: {3917, 5368, 5981, 7557, 10688, 11563},\n",
       "             956: {2958, 4232, 6012, 7249, 10791, 11927, 12598, 12646},\n",
       "             957: {1065, 1694, 3800, 5785, 6558, 6711},\n",
       "             958: {796,\n",
       "              1656,\n",
       "              1706,\n",
       "              2410,\n",
       "              3870,\n",
       "              7162,\n",
       "              7843,\n",
       "              10862,\n",
       "              11567,\n",
       "              12744},\n",
       "             959: {82, 2574, 5081, 7163, 7214, 7857, 9950, 11172},\n",
       "             963: {2272, 5184, 8267, 9540, 10464, 13111},\n",
       "             965: {1656, 2574, 4122, 5400, 7162, 7857},\n",
       "             966: {602, 1529, 3657, 10006, 11034, 11279, 12317},\n",
       "             967: {2310, 4481, 4862, 6523, 6531, 8383, 10061},\n",
       "             970: {3542, 4122, 5558, 7162, 10157, 10890},\n",
       "             971: {2022, 3908, 7117, 11488, 11998, 12401},\n",
       "             972: {3623, 3986, 6180, 7969, 8166, 9436},\n",
       "             973: {357,\n",
       "              3362,\n",
       "              3753,\n",
       "              4728,\n",
       "              5910,\n",
       "              6508,\n",
       "              8336,\n",
       "              10359,\n",
       "              11223,\n",
       "              11692,\n",
       "              12581,\n",
       "              13229},\n",
       "             974: {542, 709, 915, 5619, 11781, 12630},\n",
       "             975: {211, 4278, 8250, 9155, 10455, 11213},\n",
       "             976: {5379, 6131, 7851, 7990, 9043, 11141},\n",
       "             977: {1630, 3113, 3372, 3542, 8376, 12721},\n",
       "             980: {1581, 3485, 6309, 9208, 9262},\n",
       "             981: {615, 995, 1656, 2410, 6223, 9012, 10640},\n",
       "             983: {596, 3280, 4937, 7737, 10058, 10411},\n",
       "             984: {302, 3908, 4218, 4898, 7172, 12449},\n",
       "             988: {2480, 3936, 4383, 8854, 12350, 12776},\n",
       "             989: {488, 1684, 3993, 5807, 8804, 13103},\n",
       "             990: {2736, 3699, 6146, 6740, 7044, 9752, 11180, 13322},\n",
       "             993: {664, 1556, 5182, 9730, 10334, 13333},\n",
       "             994: {2977, 5097, 5513, 5907, 6244, 9160, 10015},\n",
       "             995: {156, 3546, 4113, 5838, 10118, 10348},\n",
       "             996: {289, 3693, 5077, 6793, 6887, 9141, 11009, 12048},\n",
       "             997: {3542, 7163, 8371, 9279},\n",
       "             998: {2271,\n",
       "              2655,\n",
       "              2743,\n",
       "              3657,\n",
       "              3795,\n",
       "              5727,\n",
       "              5866,\n",
       "              5910,\n",
       "              6363,\n",
       "              6377,\n",
       "              8913,\n",
       "              10359,\n",
       "              10737,\n",
       "              11692,\n",
       "              12549},\n",
       "             1001: {4612, 5530, 7228, 7430, 7485, 7518},\n",
       "             1002: {580, 726, 5031, 6678, 6850, 7535},\n",
       "             1007: {784,\n",
       "              7065,\n",
       "              7535,\n",
       "              9384,\n",
       "              9566,\n",
       "              9790,\n",
       "              10342,\n",
       "              10372,\n",
       "              10487,\n",
       "              10979,\n",
       "              11308,\n",
       "              11573,\n",
       "              11735,\n",
       "              12888,\n",
       "              13009},\n",
       "             1008: {9989, 10398, 10437, 12888},\n",
       "             1010: {4518, 4908, 6296, 8609, 11342},\n",
       "             1013: {3143, 3523, 5618, 10921, 11862, 12084},\n",
       "             1014: {512, 1944, 2005, 7689, 13294},\n",
       "             1015: {1811, 4061, 4443, 6918, 10921, 12145},\n",
       "             1016: {4623, 5781, 5787, 9091, 10163, 12712},\n",
       "             1017: {373, 5534, 7323, 9262, 9447, 11802, 13111},\n",
       "             1018: {3555, 7029, 9048, 11208, 11733, 13101},\n",
       "             1022: {283, 5894, 7192, 10556},\n",
       "             1023: {876, 4089, 6125, 6445, 8282, 12908},\n",
       "             1024: {4199, 7338, 10091, 10215, 11026, 11114},\n",
       "             1025: {88, 4301, 9012, 9201, 9368, 12837},\n",
       "             1027: {876, 1729, 4667, 5863, 6130, 10575},\n",
       "             1028: {3340, 5861, 6802, 8830},\n",
       "             1029: {654, 813, 1292, 1689, 4558, 4956},\n",
       "             1031: {1841, 2601, 5410, 7411, 9197, 10153},\n",
       "             1033: {2430, 4440, 4742, 4873, 5542, 7974},\n",
       "             1034: {411, 803, 6510, 7024, 10174, 11561, 11802},\n",
       "             1035: {987, 4394, 5807, 6064, 7023, 8809},\n",
       "             1036: {4744, 5615, 6454, 7362, 9594, 9872},\n",
       "             1037: {184, 876, 1729, 4089, 4667, 11206},\n",
       "             1039: {184, 876, 1729, 3593, 4089, 4667},\n",
       "             1040: {137,\n",
       "              719,\n",
       "              833,\n",
       "              1128,\n",
       "              5231,\n",
       "              5656,\n",
       "              6421,\n",
       "              9434,\n",
       "              10019,\n",
       "              10092,\n",
       "              11530,\n",
       "              12018,\n",
       "              12834},\n",
       "             1041: {4013, 8975, 11657, 12827},\n",
       "             1042: {1634, 2101, 2271, 10006, 11034, 12581},\n",
       "             1046: {4159, 5633, 6613, 9142, 12635, 12915},\n",
       "             1049: {5035, 5110, 5487, 8847, 9302, 9655},\n",
       "             1052: {1441,\n",
       "              1613,\n",
       "              2346,\n",
       "              2709,\n",
       "              3164,\n",
       "              4126,\n",
       "              4839,\n",
       "              5589,\n",
       "              8467,\n",
       "              8810,\n",
       "              10016,\n",
       "              11117,\n",
       "              12035,\n",
       "              12341},\n",
       "             1053: {1456,\n",
       "              1486,\n",
       "              2039,\n",
       "              2209,\n",
       "              2341,\n",
       "              2669,\n",
       "              2820,\n",
       "              3030,\n",
       "              3552,\n",
       "              3815,\n",
       "              4328,\n",
       "              4691,\n",
       "              5516,\n",
       "              5994,\n",
       "              6166,\n",
       "              6637,\n",
       "              6643,\n",
       "              7013,\n",
       "              7058,\n",
       "              7594,\n",
       "              7674,\n",
       "              7696,\n",
       "              7932,\n",
       "              8097,\n",
       "              9533,\n",
       "              9653,\n",
       "              9798,\n",
       "              11314,\n",
       "              11843,\n",
       "              12409},\n",
       "             1054: {696, 1840, 3897, 5523, 10425, 10599, 12240},\n",
       "             1058: {4122, 4287, 5091, 5400, 5558, 5699, 12822},\n",
       "             1059: {80, 522, 5016, 5221, 8235, 11308, 11342},\n",
       "             1060: {876, 4667, 6130, 6445, 9751, 11206},\n",
       "             1062: {876, 1729, 4667, 6445, 9751, 11206},\n",
       "             1065: {83, 5843, 6831, 8563, 10242, 10670},\n",
       "             1066: {796,\n",
       "              976,\n",
       "              1656,\n",
       "              1706,\n",
       "              1728,\n",
       "              2410,\n",
       "              3809,\n",
       "              3984,\n",
       "              5339,\n",
       "              5883,\n",
       "              7162,\n",
       "              7843,\n",
       "              8107,\n",
       "              8513,\n",
       "              9012,\n",
       "              9090,\n",
       "              9474,\n",
       "              9729,\n",
       "              9818,\n",
       "              9878,\n",
       "              12334},\n",
       "             1067: {2574, 3346, 7857, 8295, 9411},\n",
       "             1069: {184, 876, 2229, 2891, 4089, 4667},\n",
       "             1070: {3372, 3763, 5917, 6648, 8376, 9257},\n",
       "             1071: {358,\n",
       "              1458,\n",
       "              1656,\n",
       "              2156,\n",
       "              2410,\n",
       "              2892,\n",
       "              4094,\n",
       "              6319,\n",
       "              6668,\n",
       "              7162,\n",
       "              7164},\n",
       "             1074: {4198, 4402, 4528, 4991, 6349, 6853, 6966, 9174},\n",
       "             1075: {737, 1362, 4070, 4122, 5400, 8066, 9012},\n",
       "             1076: {667, 876, 1729, 4089, 4667, 7981},\n",
       "             1077: {1640, 3421, 4124, 7031, 7630, 8632, 11831},\n",
       "             1079: {2554, 3402, 4153, 8885, 9274, 9647, 10326},\n",
       "             1080: {114, 2038, 2149, 2271, 4923, 5468, 11034},\n",
       "             1081: {876, 1136, 2891, 6130, 9360, 11206},\n",
       "             1086: {4122, 4753, 4778, 5400, 5558, 12857},\n",
       "             1089: {1656, 1706, 4094, 7014, 7162, 7843, 9782},\n",
       "             1092: {2178, 4788, 10906, 11795, 11971, 12330},\n",
       "             1094: {88, 2218, 5665, 6264, 9132, 10739, 11985},\n",
       "             1095: {413, 9578, 11565, 13174},\n",
       "             1096: {1286, 1715, 1962, 6327, 9063, 12088, 12493},\n",
       "             1097: {88, 3136, 3503, 5467, 7253, 10866},\n",
       "             1099: {2321, 5189, 6047, 7867, 8771, 11093},\n",
       "             1102: {876, 4089, 5863, 6130, 8101, 9736},\n",
       "             1103: {2557, 2633, 4187, 7367, 7446, 12509},\n",
       "             1105: {1566, 1654, 3011, 4511, 8708, 10847},\n",
       "             1106: {2004,\n",
       "              2157,\n",
       "              5193,\n",
       "              7521,\n",
       "              8453,\n",
       "              9582,\n",
       "              11417,\n",
       "              12078,\n",
       "              12303,\n",
       "              12435,\n",
       "              12747},\n",
       "             1108: {1319, 1535, 1656, 3789, 4173, 6817, 7162, 7998},\n",
       "             1109: {949, 1656, 2071, 4571, 7291, 7843, 12955},\n",
       "             1110: {2345, 5534, 6648, 7804, 8853, 11588, 13111, 13202},\n",
       "             1111: {139, 726, 2036, 3908, 10015, 11389},\n",
       "             1112: {1729, 1911, 2226, 3123, 4667},\n",
       "             1113: {2808, 4971, 5459, 5747, 9020, 11769},\n",
       "             1114: {3542, 5400, 5558, 7162, 7857, 12822},\n",
       "             1115: {190, 697, 1416, 5271, 9419, 12075, 12383},\n",
       "             1117: {1114, 3369, 6625, 8013, 9948, 12955},\n",
       "             1119: {132, 5472, 7253, 10183, 11312, 12449, 13111},\n",
       "             1121: {88,\n",
       "              1386,\n",
       "              7915,\n",
       "              8510,\n",
       "              8675,\n",
       "              9208,\n",
       "              9262,\n",
       "              10245,\n",
       "              12797,\n",
       "              12893},\n",
       "             1122: {1783, 2165, 3624, 4026, 8502, 10652},\n",
       "             1123: {51, 465, 1559, 12024, 12224, 12377},\n",
       "             1124: {2388, 6823, 7169, 7418, 11281, 11323},\n",
       "             1127: {449, 1493, 5053, 5197, 5871, 5981, 9263, 11425, 11576},\n",
       "             1128: {1656, 1730, 2410, 5133, 7162, 8859},\n",
       "             1129: {1911, 2226, 5396, 6819, 9932, 11206},\n",
       "             1130: {1760, 3365, 5519, 6395, 7508, 11333, 12594},\n",
       "             1131: {1245, 2146, 4061, 4443, 6163, 10921},\n",
       "             1137: {132, 3904, 4914, 9208, 10015, 13111},\n",
       "             1138: {1092, 1656, 3523, 3821, 4875, 4883, 7162},\n",
       "             1140: {476, 822, 1656, 2410, 5594, 7158, 8079},\n",
       "             1141: {214, 685, 2777, 3172, 8122, 9557},\n",
       "             1142: {1656, 3075, 3915, 4113, 9385},\n",
       "             1144: {116, 2105, 2565, 6487},\n",
       "             1145: {2529, 5596, 7112, 10346, 10447, 10949},\n",
       "             1146: {2975, 3449, 4711, 4761, 6748, 13122},\n",
       "             1147: {237,\n",
       "              669,\n",
       "              1503,\n",
       "              1911,\n",
       "              2226,\n",
       "              3988,\n",
       "              4147,\n",
       "              5149,\n",
       "              5262,\n",
       "              5396,\n",
       "              6040,\n",
       "              7136,\n",
       "              7204,\n",
       "              7280,\n",
       "              8332,\n",
       "              9066,\n",
       "              9402,\n",
       "              9932,\n",
       "              10340,\n",
       "              11206,\n",
       "              12054,\n",
       "              12177},\n",
       "             1148: {83, 9513, 9885, 10283, 11389, 13356},\n",
       "             1150: {796, 976, 1656, 1706, 2410, 7162, 7843, 9198, 9878},\n",
       "             1152: {1080, 2172, 7215, 7308, 7532, 7535, 11998},\n",
       "             1154: {2255, 4141, 7016, 7800, 8839},\n",
       "             1155: {2876, 5953, 6155, 9191, 11772, 13382},\n",
       "             1157: {7, 1928, 3985, 4247, 5384, 7511, 8321, 10436},\n",
       "             1158: {876, 1729, 3593, 4089, 4667, 6125, 8208},\n",
       "             1160: {2391, 7443, 9450, 10006, 11783, 13371},\n",
       "             1161: {274, 1145, 8447, 10769, 13319, 13359},\n",
       "             1162: {1729, 1911, 2226, 4667, 8208, 9066},\n",
       "             1163: {2045, 6256, 7209, 10175, 11192, 12067},\n",
       "             1165: {2175, 6263, 7581, 7648, 7685, 9276, 10065},\n",
       "             1166: {2890, 5992, 6479, 8683, 9943, 9995, 10681},\n",
       "             1168: {2702, 4054, 4476, 5438, 5450, 10273, 10586},\n",
       "             1171: {184, 876, 4089, 10575, 12277, 13309},\n",
       "             1172: {4900, 5677, 7234, 7549, 10450, 11870},\n",
       "             1173: {1656, 2746, 4359, 7162, 7843, 10159},\n",
       "             1176: {876, 3646, 5167, 6011, 6428, 10234},\n",
       "             1177: {876, 4089, 4667, 7981, 11206, 12305},\n",
       "             1178: {3675, 7465, 8301, 9260, 10251, 11579, 12458},\n",
       "             1179: {481, 2730, 5583, 7162, 10579, 12536, 12966},\n",
       "             1180: {689, 1831, 2388, 2819, 5390, 7169},\n",
       "             1181: {1074, 4500, 5620, 8342, 12513, 13299},\n",
       "             1182: {2587, 4732, 5467, 11342, 11998},\n",
       "             1183: {5085, 7494, 7977, 10630, 11798, 11889},\n",
       "             1185: {3290, 3486, 9344, 9367, 11433, 13329},\n",
       "             1188: {990, 5907, 7819, 8765, 10339, 11662},\n",
       "             1189: {2844, 2891, 6125, 7981, 8079, 9519},\n",
       "             1190: {593,\n",
       "              796,\n",
       "              1706,\n",
       "              1889,\n",
       "              3523,\n",
       "              4868,\n",
       "              7843,\n",
       "              8050,\n",
       "              9315,\n",
       "              10861,\n",
       "              10921,\n",
       "              11288},\n",
       "             1191: {1356, 6620, 7257, 7956, 8083, 9004, 10735, 12059, 13143},\n",
       "             1194: {132, 5221, 7253, 8753, 11349, 12449},\n",
       "             1195: {194, 1635, 3519, 9498, 11303, 12699},\n",
       "             1197: {4684, 5308, 5872, 9195, 9471, 11664},\n",
       "             1198: {2305, 3459, 3632, 6760, 8452, 12835},\n",
       "             1199: {1911, 2226, 5262, 5396, 6819, 7981},\n",
       "             1200: {422, 781, 4635, 8822},\n",
       "             1205: {876, 6130, 6674, 7981, 11206, 12908},\n",
       "             1206: {1561,\n",
       "              2325,\n",
       "              2764,\n",
       "              4272,\n",
       "              5318,\n",
       "              5660,\n",
       "              5860,\n",
       "              6801,\n",
       "              7317,\n",
       "              8189,\n",
       "              8520,\n",
       "              8847,\n",
       "              8982,\n",
       "              10698,\n",
       "              10766,\n",
       "              11706,\n",
       "              12469,\n",
       "              12492},\n",
       "             1207: {1227, 4140, 4387, 4573, 6233, 8917, 11484},\n",
       "             1209: {1098, 4726, 6171, 6275, 11353},\n",
       "             1210: {3016, 5155, 7516, 7768, 10609, 12070, 12919},\n",
       "             1212: {213,\n",
       "              223,\n",
       "              344,\n",
       "              2338,\n",
       "              3588,\n",
       "              5488,\n",
       "              7285,\n",
       "              7556,\n",
       "              7971,\n",
       "              8024,\n",
       "              8351,\n",
       "              9747,\n",
       "              10056,\n",
       "              10366,\n",
       "              11140,\n",
       "              11410,\n",
       "              11959,\n",
       "              12534,\n",
       "              13398},\n",
       "             1213: {9208, 9262, 12747, 13111},\n",
       "             1215: {208,\n",
       "              2941,\n",
       "              3377,\n",
       "              3510,\n",
       "              3770,\n",
       "              4289,\n",
       "              6780,\n",
       "              8652,\n",
       "              8811,\n",
       "              9189,\n",
       "              9244,\n",
       "              9922,\n",
       "              10539,\n",
       "              11027,\n",
       "              11317,\n",
       "              11325,\n",
       "              11629},\n",
       "             1219: {876, 1729, 1911, 2226, 4667, 8208, 10214},\n",
       "             1220: {2424, 5069, 5879, 9314, 10958, 13157},\n",
       "             1221: {2317, 5904, 10823, 13403},\n",
       "             1223: {184, 876, 2891, 4089, 6130, 10575},\n",
       "             1227: {2574, 5081, 7163, 7857, 8465, 8522},\n",
       "             1230: {22,\n",
       "              469,\n",
       "              3399,\n",
       "              6880,\n",
       "              6941,\n",
       "              8384,\n",
       "              9057,\n",
       "              10027,\n",
       "              10654,\n",
       "              11209,\n",
       "              11468,\n",
       "              11510},\n",
       "             1231: {1808, 2453, 3911, 5047, 6936, 9853, 11424, 12269, 12563},\n",
       "             1234: {2521, 4091, 4407, 8453, 12888},\n",
       "             1236: {2783, 5031, 7629, 8280, 9513, 11389, 11921},\n",
       "             1238: {2078, 4228, 5331, 6008, 7116, 10405},\n",
       "             1239: {1580, 5881, 7147, 10006, 12317, 13371},\n",
       "             1241: {876, 1729, 4667, 5323, 6130, 9751},\n",
       "             1242: {796, 1656, 2410, 4552, 6039, 6413, 7843},\n",
       "             1243: {2819, 3377, 3510, 3770, 9244, 10682},\n",
       "             1244: {5852, 6489, 7253, 8062, 9540, 12185},\n",
       "             1245: {259,\n",
       "              413,\n",
       "              2226,\n",
       "              2610,\n",
       "              4667,\n",
       "              6011,\n",
       "              6457,\n",
       "              6935,\n",
       "              7516,\n",
       "              9932,\n",
       "              10609,\n",
       "              11565,\n",
       "              12570},\n",
       "             1246: {360,\n",
       "              2885,\n",
       "              3681,\n",
       "              5308,\n",
       "              6260,\n",
       "              6296,\n",
       "              7535,\n",
       "              10015,\n",
       "              11055,\n",
       "              12449,\n",
       "              12982,\n",
       "              13111,\n",
       "              13412},\n",
       "             1247: {287, 6011, 7516, 7768, 10609, 12570},\n",
       "             1253: {3768, 3810, 5790, 6054, 9914, 11253},\n",
       "             1254: {184, 876, 1729, 4089, 4667, 6445, 9736},\n",
       "             1255: {3492, 4509, 6986, 9195, 11394, 12936},\n",
       "             1257: {184, 876, 4089, 7981, 12277, 13309},\n",
       "             1258: {3627, 5037, 5338, 6015, 7598, 9237},\n",
       "             1259: {2665,\n",
       "              4091,\n",
       "              4969,\n",
       "              5184,\n",
       "              5680,\n",
       "              6092,\n",
       "              6936,\n",
       "              8146,\n",
       "              8201,\n",
       "              8979,\n",
       "              10464,\n",
       "              12820,\n",
       "              12989},\n",
       "             1261: {1965,\n",
       "              4790,\n",
       "              6217,\n",
       "              7107,\n",
       "              7154,\n",
       "              8758,\n",
       "              9171,\n",
       "              10541,\n",
       "              10985,\n",
       "              11473,\n",
       "              12064,\n",
       "              12716},\n",
       "             1262: {184, 876, 1136, 4089, 6130, 10575},\n",
       "             1267: {2627, 3341, 3445, 6319, 7277, 9804, 11232},\n",
       "             1268: {365,\n",
       "              827,\n",
       "              2041,\n",
       "              2829,\n",
       "              3068,\n",
       "              6059,\n",
       "              6110,\n",
       "              7091,\n",
       "              10426,\n",
       "              12392,\n",
       "              12601,\n",
       "              13100},\n",
       "             1270: {876, 1136, 2229, 4321, 4667, 6125, 6445},\n",
       "             1272: {184, 876, 1729, 4089, 4667, 10575},\n",
       "             1273: {188, 5136, 5444, 9282, 9526, 10780},\n",
       "             1274: {876, 1729, 4667, 5863, 6130, 6445, 10575},\n",
       "             1275: {3716, 4668, 4742, 4873, 7056, 7974, 11873},\n",
       "             1278: {876, 1729, 4667, 6445, 9686, 12467},\n",
       "             1279: {1729, 4147, 4667, 5863, 11206, 12054},\n",
       "             1280: {170, 1635, 2363, 2536, 3234, 7601, 13125},\n",
       "             1282: {815, 1453, 3046, 4428, 7548, 12871},\n",
       "             1285: {83, 142, 360, 692, 7178, 13383},\n",
       "             1286: {1397, 1706, 4094, 6946, 7162, 9071, 12023},\n",
       "             1288: {684, 1311, 1326, 3541, 3683, 5593, 6938, 10727},\n",
       "             1289: {184,\n",
       "              876,\n",
       "              1729,\n",
       "              2934,\n",
       "              4089,\n",
       "              4667,\n",
       "              5863,\n",
       "              7981,\n",
       "              10575,\n",
       "              12467},\n",
       "             1290: {112, 1763, 2853, 3697, 3954, 6410, 12843},\n",
       "             1293: {419, 1656, 2410, 6993, 7162, 9012},\n",
       "             1296: {293,\n",
       "              916,\n",
       "              1755,\n",
       "              1778,\n",
       "              2646,\n",
       "              4832,\n",
       "              5026,\n",
       "              5324,\n",
       "              6999,\n",
       "              8843,\n",
       "              10088,\n",
       "              10280,\n",
       "              11202},\n",
       "             1297: {2212, 3734, 6392, 7527, 11739, 12485},\n",
       "             1298: {1656,\n",
       "              2574,\n",
       "              4122,\n",
       "              4287,\n",
       "              5400,\n",
       "              5558,\n",
       "              7162,\n",
       "              7857,\n",
       "              8893,\n",
       "              12932},\n",
       "             1301: {3517, 4022, 5400, 6609, 7150, 13378},\n",
       "             1303: {3778, 4332, 10169, 11047},\n",
       "             1304: {2819, 3770, 6811, 7169, 8811, 11323, 11535},\n",
       "             1305: {2160, 2819, 3377, 6811, 9597, 9933, 10445},\n",
       "             1306: {476,\n",
       "              674,\n",
       "              1656,\n",
       "              2076,\n",
       "              2410,\n",
       "              2554,\n",
       "              3517,\n",
       "              5594,\n",
       "              5848,\n",
       "              6870,\n",
       "              7158,\n",
       "              7521,\n",
       "              8550},\n",
       "             1307: {1656, 1706, 6665, 7162, 7843, 9976},\n",
       "             1308: {2151, 2359, 4614, 4752, 4766, 7412, 11041},\n",
       "             1309: {197, 2372, 4998, 7865, 9412, 10486},\n",
       "             1311: {950, 1634, 1880, 2134, 2511, 2842, 9379, 10123},\n",
       "             1313: {807, 1155, 1271, 7240, 11725, 12170},\n",
       "             1314: {184, 876, 1729, 2891, 4089, 4667},\n",
       "             1315: {2112, 3422, 3738, 4233, 4498, 5424},\n",
       "             1316: {6260, 7253, 8062, 10015, 11586},\n",
       "             1319: {83, 2015, 11254, 11389, 11488, 11929},\n",
       "             1321: {538, 2974, 3750, 4427, 4821, 6193, 10832},\n",
       "             1322: {876,\n",
       "              2844,\n",
       "              2901,\n",
       "              3593,\n",
       "              6125,\n",
       "              8282,\n",
       "              9572,\n",
       "              9736,\n",
       "              12191,\n",
       "              12908},\n",
       "             1324: {175, 950, 3600, 4887, 6907, 8392},\n",
       "             1325: {108,\n",
       "              226,\n",
       "              515,\n",
       "              545,\n",
       "              750,\n",
       "              1008,\n",
       "              1017,\n",
       "              1079,\n",
       "              1230,\n",
       "              1452,\n",
       "              3144,\n",
       "              3661,\n",
       "              3707,\n",
       "              3710,\n",
       "              3896,\n",
       "              4372,\n",
       "              4550,\n",
       "              4659,\n",
       "              5584,\n",
       "              5609,\n",
       "              5704,\n",
       "              6141,\n",
       "              7073,\n",
       "              7372,\n",
       "              7438,\n",
       "              8422,\n",
       "              8857,\n",
       "              9180,\n",
       "              9592,\n",
       "              9985,\n",
       "              10089,\n",
       "              10096,\n",
       "              10588,\n",
       "              10797,\n",
       "              10953,\n",
       "              11278,\n",
       "              12107,\n",
       "              12273,\n",
       "              12307,\n",
       "              12584,\n",
       "              12746,\n",
       "              12942,\n",
       "              13253},\n",
       "             1326: {1352, 5794, 8533, 11637, 11960, 12245},\n",
       "             1329: {692, 1747, 6984, 7472, 8016, 10720},\n",
       "             1331: {184, 876, 2934, 4089, 6125, 12467},\n",
       "             1332: {876, 4667, 5863, 6130, 9736, 10575, 11206},\n",
       "             1333: {1656, 1706, 3885, 5883, 6262, 7162, 7843, 10890},\n",
       "             1334: {3348, 3508, 7347, 10916, 13360},\n",
       "             1336: {2531, 5148, 5174, 5907, 6183, 6867, 10687, 12256},\n",
       "             1338: {5135, 8732, 10013, 12569},\n",
       "             1340: {34, 45, 3432, 6677, 10624, 12242, 12963, 13214},\n",
       "             1343: {10003, 11258, 13142, 13344},\n",
       "             1346: {756, 1695, 5648, 6970, 11728, 12095},\n",
       "             1347: {1951, 4916, 5502, 8004, 8062, 9400, 11529, 13228},\n",
       "             1348: {2515, 3116, 6565, 11170, 12567, 12577},\n",
       "             1349: {88, 2723, 6865, 7428, 10010, 10615, 11130},\n",
       "             1350: {2574,\n",
       "              3346,\n",
       "              5081,\n",
       "              5749,\n",
       "              5903,\n",
       "              6562,\n",
       "              9484,\n",
       "              9950,\n",
       "              11188,\n",
       "              12880},\n",
       "             1351: {524, 1597, 4181, 7368, 8923, 11947},\n",
       "             1354: {7381, 7545, 7986, 8628, 9605, 9879, 11752, 12687},\n",
       "             1355: {1367, 1656, 1706, 7162, 7843, 12468},\n",
       "             1356: {1734,\n",
       "              1830,\n",
       "              1860,\n",
       "              3295,\n",
       "              3566,\n",
       "              5824,\n",
       "              8719,\n",
       "              9873,\n",
       "              9969,\n",
       "              10475,\n",
       "              10794,\n",
       "              12730},\n",
       "             1362: {1656,\n",
       "              2410,\n",
       "              2574,\n",
       "              3542,\n",
       "              4122,\n",
       "              4287,\n",
       "              4580,\n",
       "              5400,\n",
       "              5558,\n",
       "              7162,\n",
       "              7857,\n",
       "              12822,\n",
       "              12880},\n",
       "             1363: {456, 2573, 4022, 5981, 10512, 12708},\n",
       "             1365: {3377, 3770, 5697, 6823, 7169, 11325},\n",
       "             1366: {1115, 1331, 5269, 8190, 10814, 11703, 13067},\n",
       "             1367: {3334, 4774, 4805, 9796, 10668, 11159},\n",
       "             1370: {876, 1729, 4089, 4667, 6445, 7981},\n",
       "             1371: {2137, 2495, 5376, 6402, 6658, 8390},\n",
       "             1373: {1656, 2410, 2574, 2723, 3542, 4287, 5400},\n",
       "             1374: {751, 1506, 5907, 8201, 12708, 12945},\n",
       "             1375: {836, 1656, 4061, 5252, 6656, 7843, 10921, 12023},\n",
       "             1376: {4257, 5769, 6365, 7397, 9712, 12852, 13045},\n",
       "             1377: {1914, 5167, 6011, 6428, 7327, 7892},\n",
       "             1379: {796, 1092, 1656, 1706, 7162, 7843},\n",
       "             1380: {1469, 2482, 2868, 5712, 7205, 9938},\n",
       "             1381: {309, 1284, 5155, 6288, 7065, 10342, 10913, 11710},\n",
       "             1383: {551, 1656, 2410, 2554, 5594, 7158},\n",
       "             1384: {358, 1656, 2410, 2859, 7162, 10439, 13404},\n",
       "             1387: {1706, 3870, 4061, 4094, 7162, 7890},\n",
       "             1390: {2271, 8673, 10811, 11692, 12638},\n",
       "             1394: {1811, 1936, 2410, 8438, 9012, 11297},\n",
       "             1395: {1329, 1784, 2004, 9070, 10029, 10355, 10605, 12760, 12916},\n",
       "             1396: {876, 1729, 3593, 4667, 6130, 8208, 10575},\n",
       "             1397: {2848, 5944, 8426, 9009, 9541, 10559},\n",
       "             1398: {2642, 4767, 6943, 11734, 12756, 13384},\n",
       "             1399: {1129, 2971, 5735, 9664, 11368, 13370},\n",
       "             1400: {559,\n",
       "              909,\n",
       "              1353,\n",
       "              1712,\n",
       "              2306,\n",
       "              2417,\n",
       "              2503,\n",
       "              8776,\n",
       "              10219,\n",
       "              11148},\n",
       "             1403: {4664, 6304, 7336, 9208, 10015, 11138},\n",
       "             1404: {1035, 1733, 2515, 3472, 4003, 6472},\n",
       "             1405: {1656, 2574, 3542, 4287, 5400, 6219, 7857, 9136},\n",
       "             1406: {552,\n",
       "              1832,\n",
       "              2242,\n",
       "              2873,\n",
       "              2927,\n",
       "              4529,\n",
       "              5406,\n",
       "              5540,\n",
       "              5971,\n",
       "              6236,\n",
       "              6331,\n",
       "              7232,\n",
       "              7421,\n",
       "              7453,\n",
       "              7613,\n",
       "              7752,\n",
       "              8840,\n",
       "              9737,\n",
       "              9851,\n",
       "              10580,\n",
       "              11253,\n",
       "              11478,\n",
       "              12209,\n",
       "              12593,\n",
       "              13198},\n",
       "             1408: {3908, 4769, 5335, 9513, 11389, 12888},\n",
       "             1409: {2996, 4921, 7149, 8088, 9918, 10889, 11653},\n",
       "             1411: {876, 1729, 2229, 5863, 6125, 6130, 9360, 10575},\n",
       "             1412: {281, 2382, 2609, 3360, 4083, 7359, 8220, 11746},\n",
       "             1414: {1656, 3306, 4094, 7843, 8052, 10439},\n",
       "             1415: {735, 1656, 2972, 3463, 9012, 13291},\n",
       "             1417: {360, 692, 702, 9322, 12814, 12982},\n",
       "             1418: {1601,\n",
       "              4091,\n",
       "              4732,\n",
       "              5981,\n",
       "              6320,\n",
       "              7943,\n",
       "              9906,\n",
       "              11059,\n",
       "              11768,\n",
       "              12237},\n",
       "             1419: {2301, 4061, 4094, 5739, 6322, 7150},\n",
       "             1421: {1702, 6589, 7984, 10723, 11392, 12652},\n",
       "             1422: {2298, 3561, 3934, 4381, 4918, 10714, 12204, 12325, 12456},\n",
       "             1423: {3681, 3908, 5221, 8008, 10757, 12449, 12931, 13111},\n",
       "             1424: {5136, 6304, 6741, 7657, 10015, 13383},\n",
       "             1425: {184, 876, 4089, 6125, 6130, 9360},\n",
       "             1427: {2483, 2657, 8138, 8709, 10086, 10759, 13316},\n",
       "             1428: {3808, 4547, 7561, 8458, 11941, 12432},\n",
       "             1430: {3329, 5470, 11084, 11423, 11452, 11689, 12133},\n",
       "             1431: {5774, 8182, 9665, 10745, 10886, 12845},\n",
       "             1433: {2507, 3414, 4567, 5682, 7510, 12937},\n",
       "             1434: {413, 876, 3646, 5657, 6011, 6955},\n",
       "             1435: {6712, 10106, 11949, 12449, 12708, 13378},\n",
       "             1436: {2134, 4519, 4706, 6377, 6978, 9416},\n",
       "             1437: {39, 3577, 3641, 4282, 5967, 8448, 9508, 10414, 10709},\n",
       "             1438: {4094, 4140, 4305, 6319, 10439, 11539},\n",
       "             1440: {1193, 1656, 4359, 4756, 4933, 7653},\n",
       "             1442: {313,\n",
       "              360,\n",
       "              1606,\n",
       "              4523,\n",
       "              5572,\n",
       "              6296,\n",
       "              10703,\n",
       "              11067,\n",
       "              12875,\n",
       "              12949,\n",
       "              12965,\n",
       "              12993,\n",
       "              13050},\n",
       "             1448: {65, 1403, 4023, 6673, 7275, 10218},\n",
       "             1450: {876, 1729, 2891, 4667, 5863, 9433},\n",
       "             1452: {1656, 2061, 3282, 3523, 4202, 6721, 6743, 7653},\n",
       "             1455: {876, 1729, 4667, 6130, 9360, 9751},\n",
       "             1460: {2580, 2822, 4883, 6319, 6625, 13306},\n",
       "             1461: {2149, 2271, 4923, 5855, 8914, 13268},\n",
       "             1463: {184, 876, 2844, 4089, 6125, 6445},\n",
       "             1465: {876, 1911, 2226, 4147, 5396, 6040, 11206, 12177},\n",
       "             1466: {360, 4248, 7563, 7751, 11801, 12875},\n",
       "             1467: {1200, 2837, 5598, 10665, 10974, 12645},\n",
       "             1468: {2447, 3542, 3960, 4122, 5558, 7162, 10226, 12767},\n",
       "             1469: {5308, 8364, 8444, 9299, 9610, 11998},\n",
       "             1471: {1769, 4329, 6359, 9361, 10622, 11822},\n",
       "             1472: {3611, 6260, 7253, 7389, 9262, 13111},\n",
       "             1474: {438, 3770, 6829, 7169, 9189, 11325},\n",
       "             1477: {3903, 4323, 8214, 10691, 11698, 13064},\n",
       "             1479: {1296, 4404, 5941, 6238, 10815, 10930},\n",
       "             1482: {1844, 4997, 8209, 8829, 8996, 9359},\n",
       "             1484: {689, 6650, 7169, 9781, 9933, 10445},\n",
       "             1485: {769, 2909, 4835, 5958, 7719, 8375},\n",
       "             1487: {373, 4090, 4122, 4287, 5400, 5558, 6309, 6489, 9835},\n",
       "             1488: {1196,\n",
       "              3499,\n",
       "              3579,\n",
       "              4085,\n",
       "              5486,\n",
       "              6980,\n",
       "              7997,\n",
       "              8095,\n",
       "              9575,\n",
       "              12328,\n",
       "              12783},\n",
       "             1490: {5699, 5974, 6172, 6262, 7150, 8201, 9140},\n",
       "             1491: {2651, 4091, 4574, 7792, 8079, 8782, 11559},\n",
       "             1492: {876, 2891, 4254, 5863, 6125, 6130, 8282},\n",
       "             1493: {440,\n",
       "              1956,\n",
       "              3048,\n",
       "              4327,\n",
       "              4595,\n",
       "              6597,\n",
       "              7213,\n",
       "              7262,\n",
       "              11014,\n",
       "              12408},\n",
       "             1494: {88, 902, 1581, 7150, 10050, 10907},\n",
       "             1500: {321, 640, 1656, 3369, 5155, 6065, 7162},\n",
       "             1501: {344,\n",
       "              372,\n",
       "              668,\n",
       "              1079,\n",
       "              1126,\n",
       "              2851,\n",
       "              3176,\n",
       "              3651,\n",
       "              3724,\n",
       "              4456,\n",
       "              4880,\n",
       "              5771,\n",
       "              6729,\n",
       "              7252,\n",
       "              7438,\n",
       "              8202,\n",
       "              8341,\n",
       "              10072},\n",
       "             1506: {3503, 4993, 5056, 8201, 9274, 10015, 10848},\n",
       "             1508: {2981, 5085, 7977, 9032, 10630, 13137},\n",
       "             1510: {875, 1637, 2083, 3779, 9014, 11348},\n",
       "             1513: {796, 1656, 1706, 7162, 7843, 9976},\n",
       "             1514: {1656, 2410, 5594, 6327, 6554, 7150, 11462},\n",
       "             1517: {5440, 8899, 9312, 10821, 11709, 12053},\n",
       "             1520: {1586, 2545, 6648, 7777, 8093, 9262},\n",
       "             1526: {876, 1729, 4667, 6130, 6306, 6797},\n",
       "             1527: {437, 1451, 5123, 5615, 6319, 11232},\n",
       "             1528: {1020,\n",
       "              2554,\n",
       "              3444,\n",
       "              4071,\n",
       "              5594,\n",
       "              6390,\n",
       "              7158,\n",
       "              8460,\n",
       "              10605,\n",
       "              11858},\n",
       "             1529: {829, 1109, 2066, 5813, 6319, 9020, 10130, 11829},\n",
       "             1530: {485, 1675, 4255, 8996, 9359, 12970},\n",
       "             1532: {1706, 1906, 8737, 10564, 10641, 11067},\n",
       "             1533: {220,\n",
       "              755,\n",
       "              980,\n",
       "              2629,\n",
       "              3987,\n",
       "              4943,\n",
       "              8753,\n",
       "              9443,\n",
       "              10280,\n",
       "              10305,\n",
       "              10364,\n",
       "              10463},\n",
       "             1535: {246,\n",
       "              294,\n",
       "              3027,\n",
       "              4016,\n",
       "              5854,\n",
       "              6764,\n",
       "              6779,\n",
       "              6843,\n",
       "              7703,\n",
       "              9846,\n",
       "              10127,\n",
       "              10581,\n",
       "              11365,\n",
       "              12306},\n",
       "             1537: {876, 1729, 4667, 5323, 6125, 6130},\n",
       "             1538: {1656, 3590, 4061, 4094, 7162, 7704, 7748, 7843},\n",
       "             1539: {671, 1431, 1497, 5322, 7212, 12611, 13416},\n",
       "             1540: {1678, 5430, 5808, 6574, 8206},\n",
       "             1541: {304, 1897, 3099, 3796, 7825, 11256},\n",
       "             1542: {1744, 2993, 4288, 10619, 13230, 13335},\n",
       "             1543: {2312, 3572, 4188, 5349, 6937, 9438, 9826, 13228},\n",
       "             1544: {2271, 2319, 6363, 6377, 6978, 9379, 10359},\n",
       "             1550: {1656, 4094, 7704, 7843, 9930, 11306},\n",
       "             1555: {1555, 2661, 3568, 12434, 12944, 12982},\n",
       "             1557: {876, 2891, 6125, 6445, 7981, 8437, 9736},\n",
       "             1558: {1656, 2410, 4699, 5594, 7158, 9649},\n",
       "             1559: {1503, 3426, 3527, 5262, 12177, 12482},\n",
       "             1560: {1572, 1706, 7162, 7843, 10579, 11175},\n",
       "             1561: {880,\n",
       "              904,\n",
       "              2497,\n",
       "              3138,\n",
       "              4658,\n",
       "              5158,\n",
       "              5512,\n",
       "              5823,\n",
       "              6142,\n",
       "              6403,\n",
       "              6579,\n",
       "              6954,\n",
       "              7790,\n",
       "              8119,\n",
       "              11246,\n",
       "              13036},\n",
       "             1562: {177, 1863, 6301, 6602, 10789, 11345},\n",
       "             1563: {2637, 3698, 8054, 8470, 10210, 11690},\n",
       "             1564: {165, 2552, 4243, 9303, 9672, 11459, 13045, 13409},\n",
       "             1565: {839, 2302, 3503, 3917, 7215, 8216, 9656},\n",
       "             1567: {1656, 2180, 2410, 3543, 5081, 5244, 7049, 7162, 12167},\n",
       "             1570: {1730, 2410, 5883, 6223, 6908, 9335},\n",
       "             1572: {863, 2851, 4975, 5417, 7088, 8814},\n",
       "             1574: {1422, 3053, 4931, 4979, 8967, 12207, 12956},\n",
       "             1577: {876,\n",
       "              1483,\n",
       "              2987,\n",
       "              5657,\n",
       "              6955,\n",
       "              9545,\n",
       "              9884,\n",
       "              11778,\n",
       "              12385,\n",
       "              12405},\n",
       "             1578: {1656, 4907, 5155, 5491, 6105, 7162, 8471},\n",
       "             1580: {2040, 4502, 5811, 8584, 9749, 11601},\n",
       "             1581: {371,\n",
       "              535,\n",
       "              543,\n",
       "              748,\n",
       "              791,\n",
       "              860,\n",
       "              901,\n",
       "              964,\n",
       "              1096,\n",
       "              1290,\n",
       "              1340,\n",
       "              1410,\n",
       "              1845,\n",
       "              1982,\n",
       "              2186,\n",
       "              2734,\n",
       "              3121,\n",
       "              3132,\n",
       "              3409,\n",
       "              3759,\n",
       "              3805,\n",
       "              3889,\n",
       "              4138,\n",
       "              4177,\n",
       "              4290,\n",
       "              4299,\n",
       "              4366,\n",
       "              4598,\n",
       "              4725,\n",
       "              4765,\n",
       "              5466,\n",
       "              5475,\n",
       "              5567,\n",
       "              6057,\n",
       "              6302,\n",
       "              6491,\n",
       "              6509,\n",
       "              6517,\n",
       "              6599,\n",
       "              6702,\n",
       "              6732,\n",
       "              6775,\n",
       "              6958,\n",
       "              7261,\n",
       "              7289,\n",
       "              7559,\n",
       "              7690,\n",
       "              7823,\n",
       "              8027,\n",
       "              8263,\n",
       "              8488,\n",
       "              8603,\n",
       "              8922,\n",
       "              9053,\n",
       "              9222,\n",
       "              9256,\n",
       "              9464,\n",
       "              9482,\n",
       "              9558,\n",
       "              9677,\n",
       "              9877,\n",
       "              10024,\n",
       "              10151,\n",
       "              10256,\n",
       "              10879,\n",
       "              11486,\n",
       "              11548,\n",
       "              11581,\n",
       "              11825,\n",
       "              12112,\n",
       "              12115,\n",
       "              12222,\n",
       "              12431,\n",
       "              12672,\n",
       "              13184,\n",
       "              13223},\n",
       "             1584: {7253, 8406, 9208, 10015, 12449, 12747},\n",
       "             1585: {3208, 6319, 8786, 9992, 10847, 11609},\n",
       "             1586: {1090, 5363, 7602, 8151, 9357, 13265},\n",
       "             1587: {641, 4154, 6905, 7722, 8692, 13252},\n",
       "             1588: {3971, 5394, 6042, 7913, 8336, 10466},\n",
       "             1589: {1664, 2478, 3242, 4149, 7537, 11008},\n",
       "             1590: {1385,\n",
       "              2541,\n",
       "              2998,\n",
       "              3511,\n",
       "              4800,\n",
       "              5054,\n",
       "              5606,\n",
       "              6344,\n",
       "              6514,\n",
       "              6854,\n",
       "              6928,\n",
       "              6976,\n",
       "              7118,\n",
       "              8084,\n",
       "              9816,\n",
       "              10491,\n",
       "              10846,\n",
       "              11310,\n",
       "              11496,\n",
       "              12255,\n",
       "              12706,\n",
       "              12867,\n",
       "              13377},\n",
       "             1591: {846, 4992, 5598, 7306, 9524, 10665, 13034},\n",
       "             1592: {2345, 2521, 3217, 4036, 6678, 8354, 12888},\n",
       "             1594: {394, 642, 1893, 2192, 2275, 7483, 11156, 11277, 12589},\n",
       "             1596: {5496, 5960, 6561, 6675, 8172, 12930},\n",
       "             1597: {2271, 3396, 4923, 6042, 9993, 11574},\n",
       "             1598: {990, 5888, 6473, 7351, 11434, 12026},\n",
       "             1599: {2176, 2877, 3753, 6157, 8187, 10167},\n",
       "             1600: {5103, 5172, 8000, 8662, 9616},\n",
       "             1601: {876, 1729, 2752, 4667, 6445, 7981, 9686, 10575, 12467},\n",
       "             1604: {876, 4667, 5863, 6125, 6445, 10575},\n",
       "             1605: {1603, 3945, 5989, 6465, 9865, 12508},\n",
       "             1608: {1547, 2962, 6237, 7277, 9409, 9896, 10939},\n",
       "             1610: {1092,\n",
       "              1656,\n",
       "              1706,\n",
       "              2543,\n",
       "              4359,\n",
       "              6065,\n",
       "              6665,\n",
       "              7162,\n",
       "              7843,\n",
       "              8872,\n",
       "              12690,\n",
       "              12812},\n",
       "             1611: {395, 2973, 5637, 10033, 10158, 13298},\n",
       "             1613: {7840, 8727, 11437, 11617, 12926, 13277},\n",
       "             1616: {972, 1827, 2316, 2487, 2632, 4410, 5028},\n",
       "             1617: {876, 1729, 4147, 4667, 11206, 12054},\n",
       "             1618: {976, 1656, 1706, 2410, 7162, 7843},\n",
       "             1619: {184, 876, 4089, 4254, 4667, 5863},\n",
       "             1621: {646, 1730, 2656, 2884, 2926, 3253, 4317, 6783},\n",
       "             1622: {2373, 2502, 3989, 5547, 6389, 7367, 10166, 11089},\n",
       "             1623: {4090, 4287, 5400, 5558, 6219, 9315, 12822},\n",
       "             1624: {442, 5873, 6795, 7130, 10160, 11801},\n",
       "             1626: {535, 1982, 2128, 2299, 4598, 10151, 11580},\n",
       "             1627: {1807, 3516, 5981, 8296, 10856, 11583},\n",
       "             1630: {1680, 2271, 3396, 5166, 6978, 7710, 9379, 13001},\n",
       "             1631: {2388, 2819, 3377, 3992, 6823, 8811},\n",
       "             1633: {1467, 5973, 7951, 8276, 8916, 9641, 11756},\n",
       "             1634: {5941, 6319, 6671, 8729, 9278, 11232},\n",
       "             1636: {184, 876, 4089, 4667, 6130, 9360, 9751},\n",
       "             1638: {3732, 9942, 10923, 11017, 11085, 12636},\n",
       "             1639: {976,\n",
       "              1656,\n",
       "              1706,\n",
       "              2030,\n",
       "              2374,\n",
       "              2410,\n",
       "              3521,\n",
       "              3927,\n",
       "              4872,\n",
       "              5365,\n",
       "              6232,\n",
       "              6470,\n",
       "              7162,\n",
       "              7843,\n",
       "              8743,\n",
       "              10792,\n",
       "              11083,\n",
       "              11661},\n",
       "             1640: {876, 1729, 2229, 4667, 5863, 6130, 10575},\n",
       "             1641: {1229, 2670, 5437, 5969, 6907, 8640, 10737},\n",
       "             1643: {876, 4667, 5863, 6130, 9736, 13047},\n",
       "             1645: {170, 1635, 2363, 3234, 9134, 9498, 10530},\n",
       "             1646: {476, 1656, 2410, 3694, 6212, 7158, 8815, 10542},\n",
       "             1649: {1303,\n",
       "              1696,\n",
       "              2385,\n",
       "              5556,\n",
       "              5563,\n",
       "              6218,\n",
       "              8720,\n",
       "              9102,\n",
       "              10840,\n",
       "              11532,\n",
       "              12810,\n",
       "              13239},\n",
       "             1651: {688, 1650, 2593, 6540, 8114, 8930, 9010, 9253},\n",
       "             1653: {1386,\n",
       "              2119,\n",
       "              3908,\n",
       "              6399,\n",
       "              8170,\n",
       "              9208,\n",
       "              9513,\n",
       "              10757,\n",
       "              11342,\n",
       "              12641,\n",
       "              12888},\n",
       "             1654: {2410, 3542, 4122, 5558, 7162, 7857},\n",
       "             1658: {3908, 4648, 6741, 7657, 7980, 8062, 9826, 12449, 13383},\n",
       "             1661: {876, 1729, 4667, 6130, 7981, 10575},\n",
       "             1662: {3908, 5221, 10464, 11342, 11389, 11998},\n",
       "             1663: {184, 876, 2934, 4089, 5404, 6125},\n",
       "             1664: {602, 3183, 5910, 6042, 9849, 12479},\n",
       "             1665: {499, 5046, 11220, 13414},\n",
       "             1667: {4743, 5010, 5163, 8612, 10131, 10528},\n",
       "             1668: {1925, 4791, 5504, 5537, 7772, 8547, 8741},\n",
       "             1669: {86, 2606, 3823, 3937, 5686, 10679},\n",
       "             1670: {2512, 3488, 4624, 8607, 9894},\n",
       "             1671: {2829, 5041, 6197, 7018, 11470, 12028, 12564},\n",
       "             1672: {851,\n",
       "              1338,\n",
       "              2659,\n",
       "              3498,\n",
       "              3789,\n",
       "              5950,\n",
       "              6788,\n",
       "              7209,\n",
       "              7508,\n",
       "              7623,\n",
       "              9212,\n",
       "              9250,\n",
       "              10933,\n",
       "              10934},\n",
       "             1673: {88, 1656, 2410, 4070, 7162, 7735, 12822},\n",
       "             ...})"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "eventsForUser=cPickle.load(open(\"PE_eventsForUser.pkl\"))\n",
    "eventsForUser"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{(5159, 11471),\n",
       " (8876, 9305),\n",
       " (8364, 6288),\n",
       " (6309, 6489),\n",
       " (10342, 7065),\n",
       " (4165, 1389),\n",
       " (7857, 2875),\n",
       " (2987, 876),\n",
       " (2419, 4120),\n",
       " (11267, 10105),\n",
       " (3926, 5560),\n",
       " (2665, 12820),\n",
       " (11232, 7277),\n",
       " (11508, 7934),\n",
       " (8147, 3022),\n",
       " (2796, 5496),\n",
       " (2925, 6812),\n",
       " (3908, 11308),\n",
       " (6853, 9724),\n",
       " (4778, 10934),\n",
       " (2958, 11927),\n",
       " (6725, 6462),\n",
       " (10009, 3807),\n",
       " (1002, 3309),\n",
       " (7940, 8439),\n",
       " (2866, 1788),\n",
       " (2462, 423),\n",
       " (10645, 3770),\n",
       " (1280, 476),\n",
       " (3170, 6235),\n",
       " (8618, 3531),\n",
       " (10136, 7762),\n",
       " (10280, 6999),\n",
       " (6964, 1464),\n",
       " (3279, 4852),\n",
       " (8252, 9724),\n",
       " (4366, 6491),\n",
       " (4037, 7705),\n",
       " (7436, 10961),\n",
       " (1941, 9285),\n",
       " (208, 11535),\n",
       " (12934, 6358),\n",
       " (2694, 12586),\n",
       " (11168, 28),\n",
       " (11462, 7150),\n",
       " (9866, 12831),\n",
       " (11300, 5833),\n",
       " (9202, 1656),\n",
       " (11202, 916),\n",
       " (13157, 2424),\n",
       " (11779, 6013),\n",
       " (8737, 11850),\n",
       " (7914, 4630),\n",
       " (5943, 7295),\n",
       " (9800, 344),\n",
       " (11532, 5563),\n",
       " (2820, 2341),\n",
       " (7843, 3927),\n",
       " (7429, 12487),\n",
       " (10564, 10641),\n",
       " (1706, 6322),\n",
       " (1581, 2802),\n",
       " (11421, 3544),\n",
       " (1217, 1927),\n",
       " (10893, 6932),\n",
       " (8624, 3992),\n",
       " (13088, 7202),\n",
       " (11867, 6845),\n",
       " (4932, 6653),\n",
       " (10370, 8080),\n",
       " (8759, 7198),\n",
       " (11352, 8317),\n",
       " (13253, 1008),\n",
       " (2323, 4319),\n",
       " (11661, 2030),\n",
       " (2584, 3451),\n",
       " (12352, 12984),\n",
       " (1706, 3980),\n",
       " (3656, 5055),\n",
       " (10415, 2780),\n",
       " (12255, 10491),\n",
       " (9262, 5946),\n",
       " (10668, 11537),\n",
       " (10016, 2346),\n",
       " (6823, 9244),\n",
       " (7150, 9140),\n",
       " (12431, 8922),\n",
       " (1257, 6765),\n",
       " (5466, 6491),\n",
       " (7209, 7508),\n",
       " (2226, 6040),\n",
       " (2215, 2104),\n",
       " (3956, 8316),\n",
       " (7843, 10967),\n",
       " (4824, 11444),\n",
       " (10947, 37),\n",
       " (1105, 10674),\n",
       " (9542, 6857),\n",
       " (10978, 12774),\n",
       " (8376, 5917),\n",
       " (3842, 6185),\n",
       " (2178, 5072),\n",
       " (13154, 552),\n",
       " (5544, 4843),\n",
       " (1315, 7390),\n",
       " (5833, 8937),\n",
       " (4691, 7013),\n",
       " (8962, 2912),\n",
       " (9881, 4686),\n",
       " (5072, 88),\n",
       " (9614, 10973),\n",
       " (9542, 13390),\n",
       " (12760, 10355),\n",
       " (12875, 4153),\n",
       " (2949, 11856),\n",
       " (5488, 7971),\n",
       " (8006, 553),\n",
       " (8753, 12597),\n",
       " (5089, 6803),\n",
       " (10415, 5178),\n",
       " (6830, 5155),\n",
       " (2043, 8163),\n",
       " (9154, 9362),\n",
       " (1336, 468),\n",
       " (8622, 636),\n",
       " (5253, 12826),\n",
       " (7158, 6327),\n",
       " (6599, 3759),\n",
       " (13257, 2900),\n",
       " (10402, 12978),\n",
       " (12107, 108),\n",
       " (11567, 3870),\n",
       " (791, 1096),\n",
       " (8756, 6174),\n",
       " (550, 13310),\n",
       " (2574, 7163),\n",
       " (2734, 9482),\n",
       " (9830, 6199),\n",
       " (2395, 9471),\n",
       " (2736, 3699),\n",
       " (3500, 4117),\n",
       " (10564, 1706),\n",
       " (7158, 3065),\n",
       " (5086, 1018),\n",
       " (164, 6451),\n",
       " (3936, 12121),\n",
       " (11008, 2478),\n",
       " (9985, 5584),\n",
       " (4765, 9482),\n",
       " (10822, 6718),\n",
       " (1160, 12200),\n",
       " (6316, 3057),\n",
       " (2299, 1982),\n",
       " (3627, 9237),\n",
       " (226, 3707),\n",
       " (6597, 3048),\n",
       " (811, 4077),\n",
       " (4933, 4094),\n",
       " (1585, 11685),\n",
       " (2207, 7143),\n",
       " (108, 3707),\n",
       " (2124, 2554),\n",
       " (7438, 1017),\n",
       " (9881, 473),\n",
       " (5336, 271),\n",
       " (908, 733),\n",
       " (11308, 12574),\n",
       " (12822, 8572),\n",
       " (9136, 1656),\n",
       " (6788, 3789),\n",
       " (12746, 7372),\n",
       " (2336, 4666),\n",
       " (1536, 10383),\n",
       " (2320, 12708),\n",
       " (231, 10733),\n",
       " (10352, 2908),\n",
       " (12037, 11598),\n",
       " (4618, 1912),\n",
       " (1956, 12408),\n",
       " (13253, 545),\n",
       " (9881, 5923),\n",
       " (4292, 9246),\n",
       " (5576, 6095),\n",
       " (2207, 8252),\n",
       " (3022, 5980),\n",
       " (5615, 6454),\n",
       " (9540, 2524),\n",
       " (4686, 10992),\n",
       " (4828, 12395),\n",
       " (5593, 1311),\n",
       " (9518, 2675),\n",
       " (8392, 950),\n",
       " (2242, 11253),\n",
       " (10774, 12982),\n",
       " (9622, 12804),\n",
       " (12674, 2413),\n",
       " (1602, 5443),\n",
       " (8416, 12778),\n",
       " (2410, 1656),\n",
       " (7554, 5368),\n",
       " (2443, 4345),\n",
       " (9631, 5984),\n",
       " (6724, 4095),\n",
       " (373, 5400),\n",
       " (1324, 3093),\n",
       " (10707, 6429),\n",
       " (88, 411),\n",
       " (3736, 3525),\n",
       " (1351, 5374),\n",
       " (3043, 277),\n",
       " (9166, 11419),\n",
       " (5147, 7857),\n",
       " (10011, 12260),\n",
       " (5888, 11434),\n",
       " (10135, 4090),\n",
       " (344, 1120),\n",
       " (6459, 11836),\n",
       " (1171, 1515),\n",
       " (8506, 9915),\n",
       " (6980, 7997),\n",
       " (5941, 8729),\n",
       " (5411, 121),\n",
       " (7690, 964),\n",
       " (3591, 6295),\n",
       " (11809, 8944),\n",
       " (12196, 9125),\n",
       " (2851, 1079),\n",
       " (710, 3562),\n",
       " (12739, 12953),\n",
       " (7104, 3057),\n",
       " (11338, 727),\n",
       " (10364, 4943),\n",
       " (7591, 2800),\n",
       " (4265, 9020),\n",
       " (5574, 8621),\n",
       " (6166, 7932),\n",
       " (3362, 357),\n",
       " (3786, 9526),\n",
       " (8854, 12350),\n",
       " (5123, 5615),\n",
       " (5922, 966),\n",
       " (4166, 12487),\n",
       " (10241, 12094),\n",
       " (12232, 43),\n",
       " (3915, 9385),\n",
       " (1983, 4842),\n",
       " (9459, 7638),\n",
       " (7285, 11410),\n",
       " (7235, 6875),\n",
       " (6057, 11825),\n",
       " (6302, 6491),\n",
       " (12986, 245),\n",
       " (6219, 7857),\n",
       " (8257, 1910),\n",
       " (7312, 9374),\n",
       " (10320, 11412),\n",
       " (691, 13412),\n",
       " (11635, 13304),\n",
       " (12591, 1094),\n",
       " (2414, 4602),\n",
       " (8976, 275),\n",
       " (10275, 11057),\n",
       " (5464, 8181),\n",
       " (11909, 5245),\n",
       " (11858, 2554),\n",
       " (7281, 1656),\n",
       " (9957, 1178),\n",
       " (8006, 7629),\n",
       " (10887, 10257),\n",
       " (6154, 2134),\n",
       " (4667, 9916),\n",
       " (8514, 3780),\n",
       " (8469, 4888),\n",
       " (7857, 11513),\n",
       " (5342, 10597),\n",
       " (5717, 4667),\n",
       " (3266, 2504),\n",
       " (5957, 12839),\n",
       " (13184, 6732),\n",
       " (11929, 954),\n",
       " (8837, 4409),\n",
       " (12725, 2271),\n",
       " (11783, 2271),\n",
       " (8673, 11335),\n",
       " (2683, 3199),\n",
       " (4106, 11197),\n",
       " (10048, 10877),\n",
       " (3334, 4805),\n",
       " (4443, 1245),\n",
       " (7980, 6741),\n",
       " (7940, 5308),\n",
       " (12131, 9462),\n",
       " (7434, 2744),\n",
       " (1728, 11372),\n",
       " (3908, 3917),\n",
       " (8603, 6599),\n",
       " (8481, 3880),\n",
       " (12399, 3634),\n",
       " (2270, 7423),\n",
       " (4327, 3048),\n",
       " (9581, 7253),\n",
       " (1515, 4845),\n",
       " (12672, 6491),\n",
       " (1707, 2746),\n",
       " (5401, 1457),\n",
       " (8488, 6775),\n",
       " (3922, 344),\n",
       " (12936, 139),\n",
       " (5606, 586),\n",
       " (96, 5938),\n",
       " (5357, 2000),\n",
       " (8080, 13089),\n",
       " (8481, 6149),\n",
       " (3559, 13013),\n",
       " (11201, 9289),\n",
       " (10849, 12892),\n",
       " (3205, 2747),\n",
       " (10754, 9647),\n",
       " (8239, 9523),\n",
       " (3175, 4989),\n",
       " (6552, 3765),\n",
       " (1656, 7295),\n",
       " (4765, 7261),\n",
       " (11475, 7976),\n",
       " (12936, 5526),\n",
       " (8249, 6067),\n",
       " (692, 12158),\n",
       " (3428, 6043),\n",
       " (7521, 12303),\n",
       " (11300, 12471),\n",
       " (1049, 8507),\n",
       " (6339, 9011),\n",
       " (8263, 9482),\n",
       " (184, 876),\n",
       " (12064, 10985),\n",
       " (1452, 1079),\n",
       " (739, 6853),\n",
       " (11356, 7283),\n",
       " (13111, 10757),\n",
       " (7565, 1037),\n",
       " (274, 1145),\n",
       " (6351, 7861),\n",
       " (4888, 4901),\n",
       " (9588, 12158),\n",
       " (12592, 13398),\n",
       " (10188, 5907),\n",
       " (12875, 12949),\n",
       " (1452, 6141),\n",
       " (79, 5816),\n",
       " (2592, 2531),\n",
       " (5547, 7731),\n",
       " (2721, 3155),\n",
       " (7704, 4094),\n",
       " (3118, 12305),\n",
       " (6123, 3377),\n",
       " (6510, 7024),\n",
       " (12527, 2819),\n",
       " (1400, 377),\n",
       " (9257, 5917),\n",
       " (3657, 11692),\n",
       " (11275, 12462),\n",
       " (901, 8027),\n",
       " (1117, 3810),\n",
       " (6986, 4509),\n",
       " (8003, 3803),\n",
       " (6917, 4584),\n",
       " (3369, 7162),\n",
       " (8416, 12027),\n",
       " (7425, 12749),\n",
       " (9219, 12854),\n",
       " (3132, 791),\n",
       " (3904, 4498),\n",
       " (12857, 4122),\n",
       " (12888, 8280),\n",
       " (5574, 8472),\n",
       " (10050, 12153),\n",
       " (4621, 2793),\n",
       " (11382, 3647),\n",
       " (6408, 3866),\n",
       " (11461, 8072),\n",
       " (8899, 10821),\n",
       " (3424, 3361),\n",
       " (13318, 11634),\n",
       " (7535, 1080),\n",
       " (4653, 6296),\n",
       " (752, 5726),\n",
       " (3108, 1391),\n",
       " (9217, 530),\n",
       " (7761, 13269),\n",
       " (8049, 1656),\n",
       " (6478, 2991),\n",
       " (6599, 3409),\n",
       " (8673, 10359),\n",
       " (1163, 3727),\n",
       " (2492, 8825),\n",
       " (5147, 6262),\n",
       " (7311, 1563),\n",
       " (9992, 5155),\n",
       " (4585, 12303),\n",
       " (12241, 6750),\n",
       " (8836, 2031),\n",
       " (5194, 7770),\n",
       " (5, 11149),\n",
       " (6057, 860),\n",
       " (4667, 6445),\n",
       " (3681, 8008),\n",
       " (9154, 726),\n",
       " (11755, 7150),\n",
       " (12714, 1978),\n",
       " (5006, 12500),\n",
       " (12353, 10015),\n",
       " (1410, 6599),\n",
       " (1024, 7222),\n",
       " (13059, 1238),\n",
       " (3968, 6260),\n",
       " (6223, 9012),\n",
       " (4436, 12351),\n",
       " (3517, 9471),\n",
       " (6953, 13289),\n",
       " (6296, 11055),\n",
       " (1346, 11991),\n",
       " (13412, 13111),\n",
       " (2485, 5311),\n",
       " (7587, 3430),\n",
       " (417, 11677),\n",
       " (980, 10463),\n",
       " (10496, 5313),\n",
       " (8449, 8313),\n",
       " (7367, 4187),\n",
       " (13184, 6599),\n",
       " (2681, 1977),\n",
       " (6536, 585),\n",
       " (1563, 7230),\n",
       " (7657, 12888),\n",
       " (8234, 10006),\n",
       " (5511, 12916),\n",
       " (4898, 12595),\n",
       " (2929, 1148),\n",
       " (10256, 6057),\n",
       " (10250, 11366),\n",
       " (12222, 4177),\n",
       " (7186, 4922),\n",
       " (3346, 797),\n",
       " (1957, 911),\n",
       " (2599, 11728),\n",
       " (5139, 5165),\n",
       " (11569, 7162),\n",
       " (2429, 892),\n",
       " (6250, 2367),\n",
       " (7073, 3896),\n",
       " (5417, 8814),\n",
       " (11861, 2747),\n",
       " (6011, 9452),\n",
       " (9934, 1849),\n",
       " (461, 4111),\n",
       " (13322, 13042),\n",
       " (11496, 1385),\n",
       " (7285, 8351),\n",
       " (8915, 9068),\n",
       " (2957, 2634),\n",
       " (5986, 2694),\n",
       " (12096, 6068),\n",
       " (4303, 3294),\n",
       " (10158, 13298),\n",
       " (5702, 10911),\n",
       " (11861, 12022),\n",
       " (5184, 5680),\n",
       " (12647, 3920),\n",
       " (11616, 7273),\n",
       " (9582, 12303),\n",
       " (977, 7547),\n",
       " (10900, 9146),\n",
       " (10920, 6519),\n",
       " (6067, 6224),\n",
       " (10297, 5336),\n",
       " (2410, 2002),\n",
       " (5798, 7415),\n",
       " (10151, 9482),\n",
       " (1810, 12978),\n",
       " (12130, 1714),\n",
       " (7529, 4499),\n",
       " (1706, 4284),\n",
       " (473, 2780),\n",
       " (5716, 8535),\n",
       " (9957, 7633),\n",
       " (10186, 13017),\n",
       " (1656, 4113),\n",
       " (10372, 11735),\n",
       " (3831, 8137),\n",
       " (5697, 9244),\n",
       " (7291, 11999),\n",
       " (7204, 1503),\n",
       " (3121, 7823),\n",
       " (7602, 8151),\n",
       " (12265, 9549),\n",
       " (5175, 9791),\n",
       " (1976, 1212),\n",
       " (1917, 5791),\n",
       " (8422, 5609),\n",
       " (6081, 10372),\n",
       " (2280, 12308),\n",
       " (6225, 6114),\n",
       " (2643, 1615),\n",
       " (11850, 12142),\n",
       " (9346, 12940),\n",
       " (12307, 1079),\n",
       " (4299, 8922),\n",
       " (6295, 1595),\n",
       " (13000, 9202),\n",
       " (321, 5155),\n",
       " (2957, 5165),\n",
       " (476, 3517),\n",
       " (2439, 7320),\n",
       " (550, 5987),\n",
       " (3652, 1239),\n",
       " (920, 12575),\n",
       " (10273, 4476),\n",
       " (9743, 11977),\n",
       " (481, 2730),\n",
       " (3494, 12364),\n",
       " (3661, 3707),\n",
       " (208, 978),\n",
       " (9928, 5752),\n",
       " (10797, 1230),\n",
       " (4842, 8813),\n",
       " (10934, 5114),\n",
       " (10125, 2778),\n",
       " (7565, 4709),\n",
       " (9041, 148),\n",
       " (2448, 4825),\n",
       " (1346, 3430),\n",
       " (7598, 111),\n",
       " (10640, 9012),\n",
       " (3123, 1729),\n",
       " (12544, 6013),\n",
       " (7981, 12277),\n",
       " (4691, 6643),\n",
       " (12949, 7662),\n",
       " (7307, 8985),\n",
       " (6236, 7421),\n",
       " (4297, 6735),\n",
       " (5474, 5076),\n",
       " (1834, 7609),\n",
       " (2661, 1555),\n",
       " (11867, 2142),\n",
       " (926, 1491),\n",
       " (5139, 7319),\n",
       " (12896, 11261),\n",
       " (3503, 7215),\n",
       " (6309, 13059),\n",
       " (3362, 3237),\n",
       " (257, 1368),\n",
       " (3588, 5596),\n",
       " (5541, 9744),\n",
       " (12115, 13223),\n",
       " (6256, 6429),\n",
       " (11563, 5368),\n",
       " (9250, 3789),\n",
       " (686, 4783),\n",
       " (391, 7243),\n",
       " (12467, 9751),\n",
       " (11584, 3490),\n",
       " (12832, 12471),\n",
       " (1857, 5791),\n",
       " (3409, 10024),\n",
       " (9808, 12089),\n",
       " (8343, 4415),\n",
       " (3441, 12528),\n",
       " (7809, 4880),\n",
       " (5274, 12762),\n",
       " (10761, 10294),\n",
       " (6491, 371),\n",
       " (11544, 10329),\n",
       " (8976, 9077),\n",
       " (3279, 8423),\n",
       " (12017, 13206),\n",
       " (4359, 6665),\n",
       " (9159, 7935),\n",
       " (4490, 1439),\n",
       " (3908, 5981),\n",
       " (5923, 4578),\n",
       " (4196, 13244),\n",
       " (6443, 8157),\n",
       " (12682, 1237),\n",
       " (1711, 10365),\n",
       " (7725, 2002),\n",
       " (2022, 6648),\n",
       " (12875, 6741),\n",
       " (7841, 111),\n",
       " (7657, 2619),\n",
       " (11862, 9315),\n",
       " (9455, 4280),\n",
       " (4733, 3005),\n",
       " (716, 12506),\n",
       " (1843, 11645),\n",
       " (5153, 8527),\n",
       " (4175, 476),\n",
       " (10796, 2494),\n",
       " (8289, 892),\n",
       " (3205, 5679),\n",
       " (8685, 2793),\n",
       " (803, 11290),\n",
       " (12487, 1480),\n",
       " (3917, 4855),\n",
       " (12797, 12893),\n",
       " (11024, 8407),\n",
       " (8287, 4667),\n",
       " (12054, 2226),\n",
       " (5619, 915),\n",
       " (11443, 9204),\n",
       " (2275, 1893),\n",
       " (6471, 6868),\n",
       " (12422, 6151),\n",
       " (7073, 7372),\n",
       " (4168, 5495),\n",
       " (8755, 10992),\n",
       " (9740, 8313),\n",
       " (6578, 12116),\n",
       " (12311, 11630),\n",
       " (3553, 11603),\n",
       " (9881, 3886),\n",
       " (5646, 1257),\n",
       " (7968, 12755),\n",
       " (624, 5713),\n",
       " (12306, 7703),\n",
       " (12599, 6853),\n",
       " (4045, 13082),\n",
       " (974, 13305),\n",
       " (8499, 1457),\n",
       " (108, 1017),\n",
       " (9152, 11980),\n",
       " (9866, 7607),\n",
       " (7234, 5677),\n",
       " (4138, 12222),\n",
       " (5397, 1514),\n",
       " (72, 12978),\n",
       " (4835, 5958),\n",
       " (2186, 8922),\n",
       " (9208, 10570),\n",
       " (11388, 7998),\n",
       " (9963, 4752),\n",
       " (3937, 5686),\n",
       " (8961, 2009),\n",
       " (13067, 10814),\n",
       " (13409, 9303),\n",
       " (3361, 7163),\n",
       " (8540, 7253),\n",
       " (12788, 1491),\n",
       " (11683, 7908),\n",
       " (10625, 5909),\n",
       " (9877, 6775),\n",
       " (961, 11574),\n",
       " (3987, 12435),\n",
       " (6055, 10348),\n",
       " (2410, 12624),\n",
       " (6752, 8690),\n",
       " (5081, 7162),\n",
       " (7776, 10725),\n",
       " (871, 3199),\n",
       " (10539, 5688),\n",
       " (6227, 2076),\n",
       " (13198, 2242),\n",
       " (5466, 748),\n",
       " (11017, 11085),\n",
       " (7043, 3665),\n",
       " (1706, 2059),\n",
       " (3121, 6057),\n",
       " (5401, 3199),\n",
       " (5869, 90),\n",
       " (2282, 5740),\n",
       " (623, 10108),\n",
       " (9632, 3001),\n",
       " (5870, 13045),\n",
       " (1911, 4667),\n",
       " (5202, 3189),\n",
       " (5081, 5244),\n",
       " (1706, 13163),\n",
       " (6055, 8207),\n",
       " (11662, 990),\n",
       " (1048, 10928),\n",
       " (4287, 7866),\n",
       " (9668, 11856),\n",
       " (12611, 13416),\n",
       " (4766, 1457),\n",
       " (246, 12306),\n",
       " (2410, 4443),\n",
       " (2093, 11421),\n",
       " (4720, 1615),\n",
       " (8822, 422),\n",
       " (12062, 2675),\n",
       " (11598, 5716),\n",
       " (3239, 6518),\n",
       " (4619, 12940),\n",
       " (1486, 4328),\n",
       " (2498, 10439),\n",
       " (8024, 10366),\n",
       " (5089, 7335),\n",
       " (4370, 4578),\n",
       " (2976, 2201),\n",
       " (3612, 1369),\n",
       " (6195, 12731),\n",
       " (3749, 6355),\n",
       " (8156, 1487),\n",
       " (129, 6249),\n",
       " (11232, 63),\n",
       " (3840, 11902),\n",
       " (2223, 8268),\n",
       " (7573, 8154),\n",
       " (7058, 2341),\n",
       " (5558, 2106),\n",
       " (9201, 9012),\n",
       " (12463, 8988),\n",
       " (8962, 12483),\n",
       " (667, 2229),\n",
       " (1280, 1027),\n",
       " (901, 11548),\n",
       " (10900, 12698),\n",
       " (5250, 8573),\n",
       " (10098, 12733),\n",
       " (13250, 4191),\n",
       " (5184, 12747),\n",
       " (1935, 6269),\n",
       " (5048, 12031),\n",
       " (10320, 4621),\n",
       " (13138, 9684),\n",
       " (9675, 4251),\n",
       " (10006, 7033),\n",
       " (1783, 10652),\n",
       " (5576, 2379),\n",
       " (3027, 6843),\n",
       " (4648, 7980),\n",
       " (6599, 9558),\n",
       " (1171, 4833),\n",
       " (10789, 6301),\n",
       " (7968, 8823),\n",
       " (9639, 3799),\n",
       " (4372, 1017),\n",
       " (12272, 4287),\n",
       " (4904, 11308),\n",
       " (7344, 4382),\n",
       " (995, 2410),\n",
       " (5248, 88),\n",
       " (13156, 5198),\n",
       " (1260, 8051),\n",
       " (6120, 2142),\n",
       " (4580, 12822),\n",
       " (4793, 10740),\n",
       " (966, 8748),\n",
       " (2059, 11858),\n",
       " (9632, 6492),\n",
       " (1581, 54),\n",
       " (11721, 1656),\n",
       " (5547, 8958),\n",
       " (265, 8943),\n",
       " (2178, 1887),\n",
       " (2570, 7757),\n",
       " (5549, 2031),\n",
       " (12647, 13336),\n",
       " (4365, 11557),\n",
       " (12812, 1656),\n",
       " (3202, 5815),\n",
       " (3231, 12283),\n",
       " (3521, 10792),\n",
       " (1486, 6643),\n",
       " (9738, 3451),\n",
       " (10953, 12942),\n",
       " (4613, 2675),\n",
       " (12467, 4254),\n",
       " (11682, 1692),\n",
       " (3561, 10714),\n",
       " (12500, 3171),\n",
       " (4183, 668),\n",
       " (7717, 10348),\n",
       " (7459, 2443),\n",
       " (7583, 433),\n",
       " (11876, 11053),\n",
       " (12749, 444),\n",
       " (11028, 6364),\n",
       " (11588, 8853),\n",
       " (7465, 10251),\n",
       " (3532, 10934),\n",
       " (785, 2084),\n",
       " (12843, 112),\n",
       " (8855, 13413),\n",
       " (10439, 7162),\n",
       " (6368, 3926),\n",
       " (8211, 8560),\n",
       " (11527, 10833),\n",
       " (3618, 3700),\n",
       " (6304, 11559),\n",
       " (4906, 411),\n",
       " (10953, 12273),\n",
       " (11538, 11753),\n",
       " (2659, 1338),\n",
       " (2063, 12464),\n",
       " (12747, 12435),\n",
       " (13228, 3572),\n",
       " (5594, 4699),\n",
       " (12826, 8449),\n",
       " (6188, 10810),\n",
       " (1457, 10055),\n",
       " (579, 13204),\n",
       " (6531, 4862),\n",
       " (8141, 3558),\n",
       " (11241, 976),\n",
       " (11809, 12179),\n",
       " (6729, 254),\n",
       " (9120, 10338),\n",
       " (12177, 10340),\n",
       " (6422, 12483),\n",
       " (2972, 735),\n",
       " (7857, 476),\n",
       " (10697, 3503),\n",
       " (7440, 9661),\n",
       " (7326, 2781),\n",
       " (6438, 3902),\n",
       " (2410, 8730),\n",
       " (4524, 1983),\n",
       " (4937, 10411),\n",
       " (646, 3415),\n",
       " (5363, 8151),\n",
       " (1810, 9173),\n",
       " (13378, 2574),\n",
       " (12708, 11949),\n",
       " (2341, 7013),\n",
       " (7056, 9823),\n",
       " (2019, 10903),\n",
       " (2574, 601),\n",
       " (3449, 4761),\n",
       " (11486, 9464),\n",
       " (11538, 2781),\n",
       " (5258, 9550),\n",
       " (4802, 7523),\n",
       " (7843, 4359),\n",
       " (10624, 34),\n",
       " (6817, 12308),\n",
       " (4558, 4956),\n",
       " (6302, 5466),\n",
       " (3886, 8181),\n",
       " (6958, 1982),\n",
       " (8229, 2578),\n",
       " (11567, 1706),\n",
       " (6656, 1656),\n",
       " (11635, 5659),\n",
       " (1139, 5469),\n",
       " (1935, 1480),\n",
       " (5042, 4604),\n",
       " (10575, 7858),\n",
       " (2663, 10248),\n",
       " (11718, 3440),\n",
       " (8085, 1656),\n",
       " (2434, 1370),\n",
       " (10913, 9762),\n",
       " (2180, 2410),\n",
       " (6217, 9171),\n",
       " (2852, 6313),\n",
       " (7156, 726),\n",
       " (12514, 3433),\n",
       " (2722, 9682),\n",
       " (7158, 11963),\n",
       " (3827, 4349),\n",
       " (8221, 4556),\n",
       " (7843, 6438),\n",
       " (10024, 4598),\n",
       " (4395, 6996),\n",
       " (10576, 7442),\n",
       " (6371, 9358),\n",
       " (3045, 5534),\n",
       " (1706, 1397),\n",
       " (1656, 11132),\n",
       " (8048, 13310),\n",
       " (2662, 4277),\n",
       " (5233, 3062),\n",
       " (310, 8317),\n",
       " (10961, 10938),\n",
       " (232, 4507),\n",
       " (2067, 3576),\n",
       " (9420, 1167),\n",
       " (11713, 8378),\n",
       " (810, 11760),\n",
       " (810, 3917),\n",
       " (7169, 5390),\n",
       " (8221, 6571),\n",
       " (11545, 12109),\n",
       " (11510, 11209),\n",
       " (13378, 4022),\n",
       " (7826, 6225),\n",
       " (8040, 4700),\n",
       " (7587, 8048),\n",
       " (3364, 5460),\n",
       " (11559, 4648),\n",
       " (2744, 12778),\n",
       " (6057, 748),\n",
       " (10769, 274),\n",
       " (7638, 2745),\n",
       " (8755, 1983),\n",
       " (9821, 4842),\n",
       " (1415, 8307),\n",
       " (2192, 7483),\n",
       " (6599, 6517),\n",
       " (782, 1117),\n",
       " (6422, 1384),\n",
       " (10123, 2511),\n",
       " (2209, 3552),\n",
       " (9669, 2274),\n",
       " (10904, 8543),\n",
       " (9533, 3030),\n",
       " (7220, 5081),\n",
       " (1126, 552),\n",
       " (7169, 3770),\n",
       " (12708, 751),\n",
       " (6280, 1164),\n",
       " (4706, 10359),\n",
       " (12137, 683),\n",
       " (562, 5843),\n",
       " (10218, 2676),\n",
       " (10737, 10359),\n",
       " (8456, 976),\n",
       " (5031, 3412),\n",
       " (3513, 11837),\n",
       " (2461, 12188),\n",
       " (138, 2686),\n",
       " (7690, 10024),\n",
       " (10545, 5374),\n",
       " (10024, 6517),\n",
       " (2785, 4068),\n",
       " (8603, 9677),\n",
       " (5963, 12631),\n",
       " (1963, 4689),\n",
       " (12982, 4551),\n",
       " (7683, 9171),\n",
       " (8156, 8827),\n",
       " (4971, 2808),\n",
       " (4802, 5299),\n",
       " (10959, 3857),\n",
       " (12876, 6693),\n",
       " (5923, 6060),\n",
       " (7594, 5994),\n",
       " (10348, 10605),\n",
       " (6130, 11835),\n",
       " (11653, 7149),\n",
       " (5686, 2606),\n",
       " (9950, 1535),\n",
       " (11278, 5609),\n",
       " (12967, 3770),\n",
       " (1039, 7131),\n",
       " (7185, 5907),\n",
       " (11310, 5054),\n",
       " (11200, 5081),\n",
       " (10848, 88),\n",
       " (12819, 5572),\n",
       " (88, 10010),\n",
       " (2453, 9853),\n",
       " (1706, 6255),\n",
       " (749, 6908),\n",
       " (12311, 3404),\n",
       " (9314, 13157),\n",
       " (7948, 2851),\n",
       " (5754, 10607),\n",
       " (11933, 8817),\n",
       " (12431, 4598),\n",
       " (778, 5086),\n",
       " (5, 10250),\n",
       " (10668, 2574),\n",
       " (2274, 12178),\n",
       " (3503, 3284),\n",
       " (12327, 6376),\n",
       " (10984, 4958),\n",
       " (1236, 5468),\n",
       " (13198, 2927),\n",
       " (11853, 11805),\n",
       " (7009, 10309),\n",
       " (11365, 6843),\n",
       " (10930, 10815),\n",
       " (4003, 1340),\n",
       " (845, 11412),\n",
       " (11051, 12044),\n",
       " (2953, 7322),\n",
       " (5641, 10394),\n",
       " (5699, 789),\n",
       " (12067, 7209),\n",
       " (11505, 3001),\n",
       " (9920, 7966),\n",
       " (1706, 7843),\n",
       " (7078, 9326),\n",
       " (1811, 6623),\n",
       " (10861, 9315),\n",
       " (514, 8316),\n",
       " (5584, 3710),\n",
       " (5646, 1810),\n",
       " (5672, 6997),\n",
       " (9866, 1327),\n",
       " (5856, 4070),\n",
       " (3707, 3710),\n",
       " (3588, 9301),\n",
       " (1843, 8428),\n",
       " (8642, 8430),\n",
       " (963, 12036),\n",
       " (8351, 223),\n",
       " (7374, 11409),\n",
       " ...}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "uniqueEventPairs=cPickle.load(open(\"PE_uniqueEventPairs.pkl\"))\n",
    "uniqueEventPairs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 读取之前算好的测试集和训练集中出现过的活动"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "number of events in train & test :13418\n"
     ]
    }
   ],
   "source": [
    "#读取训练集和测试集中出现过的活动列表\n",
    "eventIndex = cPickle.load(open(\"PE_eventIndex.pkl\", 'rb'))\n",
    "n_events = len(eventIndex)\n",
    "print(\"number of events in train & test :%d\" % n_events)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 处理events.csv --> 特征编码、活动之间的相似度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "FE = FeatureEng()\n",
    "fin = open(\"events.csv\", 'rb')\n",
    "fin.readline() # skip header\n",
    "eventPropMatrix = ss.dok_matrix((n_events, 7))\n",
    "eventContMatrix = ss.dok_matrix((n_events, 101))\n",
    "\n",
    "for line in fin.readlines():\n",
    "    cols = line.strip().split(\",\")\n",
    "    eventId = str(cols[0])\n",
    "    \n",
    "    if eventIndex.has_key(eventId):  #在训练集或测试集中出现\n",
    "        i = eventIndex[eventId]\n",
    "  \n",
    "        #event的特征编码，这里只是简单处理，其实开始时间，地点等信息很重要\n",
    "        eventPropMatrix[i, 0] = FE.getJoinedYearMonth(cols[2]) # start_time\n",
    "        eventPropMatrix[i, 1] = FE.getFeatureHash(cols[3]) # city\n",
    "        eventPropMatrix[i, 2] = FE.getFeatureHash(cols[4]) # state\n",
    "        eventPropMatrix[i, 3] = FE.getFeatureHash(cols[5]) # zip\n",
    "        eventPropMatrix[i, 4] = FE.getFeatureHash(cols[6]) # country\n",
    "        eventPropMatrix[i, 5] = FE.getFloatValue(cols[7]) # lat\n",
    "        eventPropMatrix[i, 6] = FE.getFloatValue(cols[8]) # lon\n",
    "        \n",
    "        #词频\n",
    "        for j in range(9, 110):\n",
    "            eventContMatrix[i, j-9] = cols[j]\n",
    "fin.close()\n",
    "\n",
    "#用L2模归一化,Kmeans聚类基于L2距离\n",
    "eventPropMatrix = normalize(eventPropMatrix,norm=\"l2\", axis=0, copy=False)\n",
    "sio.mmwrite(\"EV_eventPropMatrix\", eventPropMatrix)\n",
    "\n",
    "#词频，可以考虑我们用这部分特征进行聚类，得到活动的genre\n",
    "eventContMatrix = normalize(eventContMatrix,norm=\"l2\", axis=0, copy=False)\n",
    "sio.mmwrite(\"EV_eventContMatrix\", eventContMatrix)\n",
    "\n",
    "\n",
    "# calculate similarity between event pairs based on the two matrices\n",
    "eventPropSim = ss.dok_matrix((n_events, n_events))\n",
    "eventContSim = ss.dok_matrix((n_events, n_events))\n",
    "\n",
    "#读取在测试集和训练集中出现的活动对\n",
    "uniqueEventPairs = cPickle.load(open(\"PE_uniqueEventPairs.pkl\", 'rb'))\n",
    "\n",
    "for e1, e2 in uniqueEventPairs:\n",
    "    #i = eventIndex[e1]\n",
    "    #j = eventIndex[e2]\n",
    "    i = e1\n",
    "    j = e2\n",
    "    \n",
    "    #非词频特征，采用Person相关系数作为相似度\n",
    "    if not eventPropSim.has_key((i,j)):\n",
    "        epsim = ssd.correlation(eventPropMatrix.getrow(i).todense(),eventPropMatrix.getrow(j).todense())\n",
    "        eventPropSim[i, j] = epsim\n",
    "        eventPropSim[j, i] = epsim\n",
    "    \n",
    "    #对词频特征，采用余弦相似度，也可以用直方图交/Jacard相似度\n",
    "    if not eventContSim.has_key((i,j)):\n",
    "        ecsim = ssd.cosine(eventContMatrix.getrow(i).todense(),\n",
    "            eventContMatrix.getrow(j).todense())\n",
    "    \n",
    "        eventContSim[i, j] = epsim\n",
    "        eventContSim[j, i] = epsim\n",
    "    \n",
    "sio.mmwrite(\"EV_eventPropSim\", eventPropSim)\n",
    "sio.mmwrite(\"EV_eventContSim\", eventContSim)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "matrix([[ 0.,  0.,  0., ...,  0.,  0.,  0.]])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "eventPropSim.getrow(0).todense()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 对活动进行聚类"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "#特征编码\n",
    "from utils import FeatureEng\n",
    "\n",
    "from sklearn.preprocessing import normalize\n",
    "from sklearn import metrics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#读取数据\n",
    "import scipy.io as sio\n",
    "eventContMatrix = sio.mmread(\"EV_eventContMatrix\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<13418x101 sparse matrix of type '<type 'numpy.float64'>'\n",
       "\twith 199855 stored elements in COOrdinate format>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "eventContMatrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.cluster import MiniBatchKMeans\n",
    "\n",
    "# 一个参数点（聚类数据为K）的模型，并评价聚类算法性能\n",
    "def K_cluster_analysis(K, df):\n",
    "    print(\"K-means begin with clusters: {}\".format(K));\n",
    "    \n",
    "    #K-means,在训练集上训练\n",
    "    km = MiniBatchKMeans(n_clusters = K)\n",
    "    km.fit(df)\n",
    "    \n",
    "    #保存预测结果\n",
    "    cluster_result = km.predict(df)\n",
    "\n",
    "    # K值的评估标准\n",
    "    #常见的方法有轮廓系数Silhouette Coefficient和Calinski-Harabasz Index\n",
    "    #这两个分数值越大则聚类效果越好\n",
    "    #CH_score = metrics.calinski_harabaz_score(X_train,mb_kmeans.predict(X_train))\n",
    "    CH_score = metrics.silhouette_score(df,cluster_result)   \n",
    "    print(\"CH_score: {}\".format(CH_score))\n",
    "\n",
    "    return CH_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "K-means begin with clusters: 10\n",
      "CH_score: 0.0394747270887\n",
      "K-means begin with clusters: 20\n",
      "CH_score: -0.0108645424067\n",
      "K-means begin with clusters: 30\n",
      "CH_score: -0.102614414567\n",
      "K-means begin with clusters: 40\n",
      "CH_score: -0.115301252424\n",
      "K-means begin with clusters: 50\n",
      "CH_score: -0.030509211835\n",
      "K-means begin with clusters: 60\n",
      "CH_score: -0.150770023177\n",
      "K-means begin with clusters: 70\n",
      "CH_score: -0.18755261999\n",
      "K-means begin with clusters: 80\n",
      "CH_score: -0.0532896262973\n",
      "K-means begin with clusters: 90\n",
      "CH_score: -0.056004649327\n",
      "K-means begin with clusters: 100\n",
      "CH_score: -0.177811535804\n"
     ]
    }
   ],
   "source": [
    "# 设置超参数（聚类数目K）搜索范围\n",
    "CH_scores = []\n",
    "Ks = [10,20,30,40,50,60,70,80,90,100]\n",
    "for K in Ks:\n",
    "    ch = K_cluster_analysis(K, eventContMatrix)\n",
    "    CH_scores.append(ch)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "当类别为10的时候，CH_score最大，所以大概分为10类比较好"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "K-means begin with clusters: 10\n"
     ]
    }
   ],
   "source": [
    "def K_cluster_analysis(K, df):\n",
    "    print(\"K-means begin with clusters: {}\".format(K));\n",
    "    \n",
    "    #K-means,在训练集上训练\n",
    "    km = MiniBatchKMeans(n_clusters = K)\n",
    "    km.fit(df)\n",
    "    \n",
    "    #保存预测结果\n",
    "    cluster_result = km.predict(df)\n",
    "    cluster_output=pd.Series(cluster_result)\n",
    "    cluster_output.to_csv(\"output.csv\",header=True)\n",
    "    \n",
    "    return cluster_output\n",
    "\n",
    "cluster_output=K_cluster_analysis(10, eventContMatrix)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x11d055390>]"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11a12d750>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "plt.plot(Ks, np.array(CH_scores), 'b-')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
